How the mkdir command works on Linux
📣 Sponsor
On Linux and unix-like systems, like Mac, we use mkdir
to make a new directory from the terminal. To do this, open up a new terminal, and make sure you're in the right directory using the cd command.
The syntax for mkdir
looks like this, where dir_name is the name of your new directory, and [OPTIONS]
are optional settings.
mkdir [OPTIONS] dir_name
For example, to create a new directory called "hello_world", we would type:
mkdir hello_world
If you want to make multiple directories, just put them in curly brackets, and separate each directory by a comma. For example, the below code makes two directories called "hello" and "world":
mkdir {hello,world}
Options for mkdir
mkdir
has 3 options which we can add to our command:
- -p - this allows us to make multiple directories within each other.
- -v - this outputs information on the directory or directories created.
- -m - this lets us set the chmod/mode value for our directory, i.e. 777.
Making multiple directories within each other with mkdir -p
Let's say we wanted to create a folder structure, where we have a project
folder within a parent
folder, within a master
folder. If we use just mkdir
, we would have to make each individually. Instead, we can use mkdir -p
to make them all at once.
mkdir -p master/parent/project
This will make three directories, each within the other.
Verify a folder is created with mkdir
If we want to see a message about if mkdir
was successful or not, we can use mkdir -v
.
mkdir -v master
The above will output the following message:
mkdir: created directory 'master'
Unfortunately, -p
and -v
will not work together - so you have to use one or the other.
Setting the chmod or mode of a directory with mkdir
If we want to set the mode of a directory, we can set it directly with mkdir
. For example, to create a directory with a chmod
value of 777, we would write the following:
mkdir -m777 master
Creating multiple directories with a certain chmod or mode using mkdir
We can combine -m
and -p
for mkdir
into one command, if we want. For example, the below code will create the folder structure master/parent/project
, and set each directory to a mode of 777
:
mkdir -p -v -m777 master/parent/project
More Tips and Tricks for Linux
- How to make a Symbolic Link on Linux
- Reference: Non Printable Characters List
- How to Remove Empty and Non Empty Directories in Linux
- How to Rename Files in Linux and MacOS Terminal
- How the cat Command works on Linux
- How the ls command works on Linux
- How to count all files in a directory in Linux
- How the which Command works on Linux
- How the cd command works in Linux
- How the chmod command works on Linux