creates a directory, even if the parent directory is missing.
For example if you have a system, you are in your home directory and you wanted to create a directory ~/thisapp/config
(the ~/ bit means your home directory)
If the thisapp directory didn't exist then using mkdir thisapp/config will give the error:
mkdir: cannot create directory `thisapp/config': No such file or directory
so you either need to create the thisapp directory first or use:
mkdir -p thisapp/config
which will create both the thisapp and the thisapp/config directory in a single command.
touch will create an empty file.