mkdir How to Create a Directory in Linux

For those of you wanting to know how to create a directory in Linux using the command line interface or Linux shell, you will want to read this Linux beginner tutorial on how to use the Linux mkdir command. The Linux command mkdir is used to make directories in Linux. There aren’t many options I use with this Linux command either. There is only 1 option I use with the mkdir command on a regular basis.

The usage for mkdir is very simple mkdir [options] [directory].

Just remember when running mkdir that you are creating directories from the current working directory, unless you specify another path. So if I am in /home/max/ and I want to make a directory called images I would run mkdir images which will create the directory images in /home/max/ so now my complete path for images is /home/max/images/. Now if I was in /home/max/files/ and still wanted to create /home/max/images/ I could run mkdir ../images which ../ is your parent directory. I could also type in the full path on the command line by running mkdir /home/max/images to get the same results.

The option I use on a regular basis for the mkdir command is mkdir -p which will allow you to create parent directories if they don’t already exist. For example if /home/max/images/ didn’t already exist and I wanted to make a directory /home/max/images/family I could either make each directory individually by running mkdir /home/max/images then run mkdir /home/max/images/family. I could also script this slightly all in one command line, yet 2 separate commands by running mkdir /home/max/images && /home/max/images/family. So either way still having to type out many commands. Now instead of typing all the extras, i could simply run 1 mkdir command to create the parent directories as well using the mkdir -p option. Which I would then run mkdir -p /home/max/images/family and this will create /home/max/images and also /home/max/images/family as well!

I’ve also seen a lot of people asking how to make directories a through z with Linux? Well my first thought was to try mkdir [a-z], but unfortunately this will just create a directory named [a-z]. So in Linux to make directories a through z you have to make a small script type command. Here is the command you can run to create directories a through z, if you are wanting to organize mp3s for example: perl -e 'for (a..z) {system("mkdir $_")};'

SHELL NOTE: For anyone wondering in the example command line where I used mkdir /home/max/images && /home/max/images/family what the && does, the && on a command line separates shell commands and only runs the next shell command if the first Linux shell command ran successfully without any errors. So if for some reason mkdir /home/max/images failed, the shell would not run the next shell command mkdir /home/max/images/family.

As always thank you for reading this information on the Linux mkdir command for creating new folders and directories in Linux via the command line interface. If you have any friends you would like to teach how to run Linux, send them here to the beginner linux tutorial, where we will hopefully turn them into advanced Linux users or at least Linux users so they can get rid of that evil Microsoft product they call an operating system!

8 thoughts on “mkdir How to Create a Directory in Linux

  1. I’m taking the Intro to Linux and my instructor has given us an assignment and the question is “Make a directory inside of your home director called dir99.

  2. thanks you made me understand these stuff because my teacher told me these but i really didn’t get it you know :o) thank you

Leave a comment

Your email address will not be published. Required fields are marked *