Creating directories or folders is a fundamental task for all Linux users. Linux enthusiasts can easily create directories from the distro’s desktop environment or the command-line using mkdir (also known as the “make directory” command).
Note: We’re using Ubuntu 20.4, a Debian-based distro, for this guide. All of the Linux commands featured in this article are distro-independent, meaning they will work on any Linux distro.
How to Create Directories via the Desktop Environment’s Graphical User Interface (GUI)
- To create a directory in Linux via the GUI, open the directory you want to create the subdirectory in.
- Left-click anywhere in the folder, as long as it’s not on a file or folder.
- Select New Folder from the dropdown menu.
- Lastly, rename the directory. That’s it! The folder has been created.
mkdir Command Options/Syntax
The syntax for the mkdir command is as follows:
# mkdir directoryname # mkdir directoryname1 directoryname2 # mkdir [option] directoryname # mkdir -p directoryname1/directoryname2/directoryname3
The table below lists all the options available with the mkdir command.
|-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 (same as man mkdir)|
|–version||output version information and exit|
How to display the version of the mkdir command
Throughout this guide, we will be using the mkdir command extensively. It’s always good to see what version of the mkdir command you’re using. To do this, type the following command in the terminal:
# mkdir --version
If mkdir is not the latest version, you can update it using the apt upgrade command.
# sudo apt upgrade.
The sudo command in front of the apt upgrade command ensures that the command runs as root. You will have to enter the root password for the command to work.
How to Create a Single Directory
Note that we will be using the -v parameter when creating directories. This verifies that the directories were created. Also, note that you must have sufficient privileges to run the command.
# mkdir -v directory1
This command will result in creating the directory in the current working directory. If you don’t want to use the mkdir -v command, you can verify the directory was created using the ls -l command.
# ls -l
How to Create Multiple Directories
If you want multiple directories, you can create them one-by-one using the mkdir directory command multiple times. However, this is time-consuming. To save time, use the mkdir command using commas.
# mkdir -v directory1,directory2,directory3
Note: don’t add a space between the directory names, or the directory names will each have an extra character (space).
How to Create Parent Directories
If you want to create multiple directories, use the mkdir -p command separating the directories with slash symbol (/) between each directory. Remember not to add a space between the /directory/. In this example, directory1 is the parent directory, directory2 is a subdirectory of directory1, and directory3 is a subdirectory of directory2.
# mkdir -p -v directory1/directory2/directory3
How to Set Permissions When Creating Directory/Directories
To create directories with preset permissions, it’s necessary to use the -m or –mode option. In the example below, we create a directory with the permission “777“. This means the directory is readable, writable, and executable by all users. However, using “777” is not recommended as it poses a security risk.
# mkdir -m "777" -v directory1
Alternatively, you can use the –mode option.
#mkdir --mode "777" directory1
Commands Used In This Article
- mkdir – make directories.
- ls – list directory contents.
- sudo – allows a permitted user to execute a command as the superuser or another user, as specified by the security policy.
- apt upgrade – Debian/Ubuntu specific command to upgrade application(s) on the system.
Creating new directories is an essential skill set for all Linux users. There are also several directory-related Linux commands such as ls, cd, rmdir, pwd, and ls that you should familiarize yourself using the man command.