- Unix Commands Reference
- Unix Commands - Home
mkdir command in Linux with Examples
Name
mkdir - make directories
Synopsis
mkdir [OPTION]... DIRECTORY...
Description
The command mkdir
stands for “make directory”. It creates each directory specifed on the command line in the order given. It reports an error if DIRECTORY already exists, unless the -p option is given.
The mkdir command in Linux/Unix allows users to create or make new directories (also referred to as folders in some operating systems).
This command creates the DIRECTORY(ies), if they do not already exist. This command can create multiple directories at once as well as set the permissions for the directories (folders).
It is important to note that for executing this command, users must have the right permissions to create a directory in the parent directory, otherwise the users would receive a ‘permission denied’ error.
Options
Tag | Description |
---|---|
-m, --mode=MODE | set file mode (as in chmod), not a=rwx - umask |
-p, --parents | no error if existing, make parent directories as needed |
-v, --verbose | print a message for each created directory |
-Z | set SELinux security context of each created directory to the default type |
--context[=CTX] | like -Z, or if CTX is specified then set the SELinux or SMACK security context to CTX |
--help | display this help and exit |
--version | output version information and exit |
Examples
Example-1
Create a simple directory at current folder/directory
$ mkdir book_titles
output:
$ ls
book_titles
Example-2
Create the directory at Home
$ mkdir ~/examples
output:
$ cd ~ $ ls
examples
Example-3
Create the directory at desired location
$ mkdir /tmp/examples
output:
$ cd /tmp $ ls
examples
Example-4
Create more than one directories using single command
$ mkdir book_titles/history book_titles/social_science
output:
$ cd book_titles $ ls -R
.: history social_science ./history: ./social_science:
Example-5
Create multiple directories using special characters
$ mkdir book_titles/{maths,science,biology}
output:
$ cd book_titles $ ls -R
.: biology history maths science social_science ./biology: ./history: ./maths: ./science: ./social_science:
Example-6
Create directory and to set the file permissions
(a) Using file attributes
$ mkdir -m a=rwx book_titles
output:
$ cd book_titles $ ls
drwxrwxrwx 2 expert expert 4096 Sep 28 20:45 book_names/
(b) Using numeric values
$ mkdir -m 777 book_names
output:
$ cd book_titles $ ls
drwxrwxrwx 2 expert expert 4096 Sep 28 20:48 book_names/
Example-7
Create parent directories if they do not already exist. It sets their file permission bits to the umask modified by ‘u+wx’.
(a) Simple example
$ mkdir -p vegitables/roots/carrot
output:
$ cd vegitables $ ls -R
vegitables/: roots vegitables/roots: carrot vegitables/roots/carrot:
(b) Hard example
$ mkdir -p book_titles/{biology/{botany,zoology},english/{literature,grammer},geography,maths/{algebra,trigonometry,statistics}}
output:
$ cd book_titles $ ls -R
.: biology english geography history maths science social_science ./biology: botony zoology ./biology/botony: ./biology/zoology: ./english: grammer litrerature ./english/grammer: ./english/litrerature: ./geography: ./history: ./maths: algebra statistics trigonometry ./maths/algebra: ./maths/statistics: ./maths/trigonometry: ./science: ./social_science: