The “mkdir” is the command considered for creating the directory in Linux. The “-p” flag in the “mkdir” command is utilized for creating the parent directory/directories if they don’t exist. However, the user might doubt the safety of the “-p” flag if it is applied to the existing directory.
This post will demonstrate the mkdir “-p” command with practical implementation.
- Is mkdir -p Safe?
- How to Create a Folder That Already Exists?
- Create a Parent Directory (No Existence of Parent Directory)
- Create the Parent Directory, and Sub-Directories (Parent Directory Exist)
Is mkdir -p Safe?
Yes, mkdir -p is safe even if the folder already exists. The command does not overwrite or delete existing files or directories; it will do nothing and exit successfully. Using mkdir -p ensures that all necessary directories are created without checking if each directory already exists.
How to Create a Folder That Already Exists?
To create the parent directory using the “-p” flag, the following syntax of the mkdir command is examined:
Syntax:
$ mkdir -p [Parent Directory]/[Sub-Directory 1]/[Sub-Directory 2]......so on
- The “mkdir” command is used for creating the directory.
- The “-p” flag creates the parent directory/directories.
- Then type the “Parent Directory” along with the sub-directories based on the requirement.
Example 1: Create the Parent Directory and Sub-Directories (No Existence of Parent Directory)
The following command will create the parent directory along with the parent directory as “Parent_dir1/Parent_dir2/Henry”:
$ mkdir -p Parent_dir1/Parent_dir2/Henry
The parent directory and sub-directories have been created.
Let’s verify the content of each parent directory using the “ls” command as follows:
$ ls Parent_dir1
$ ls Parent_dir1/Parent_dir2
The hierarchy of directories (parent and subdirectories) is available in the operating system.
Example 2: Create the Parent Directory and Sub-Directories (Parent Directory Exist)
If the parent directory exists, the mkdir command will not override the parent directory, but it will create the sub-directories in the existing parent directory.
In our case, the “Henry” directory exists with the file content “script.sh” as shown:
$ cd Henry
$ ls
The “Henry” directory has the “script.sh” file.
Let’s create the “Henry” as the parent directory and sub-directories “dir1” and “dir2” to test if it is a safe way to create:
$ mkdir -p Henry/dir1/dir2
The successful execution shows that the parent directory and sub-directories are created.
Let’s check the content of the “Henry” directory if it is deleted or not through the “ls” command:
$ ls Henry
$ ls Henry/dir1
The content of the existing parent directory is not deleted, but the sub-directories have been created under the parent directory.
Conclusion
Yes, the “mkdir -p” command is safe to use; it creates the parent directory and subdirectories and will not override existing directories/subdirectories. The -p flag informs the mkdir command to create the mentioned directory and any missing parent directories. If the parent directory exists, it will not create it but create the sub-directories.
This write-up has briefly illustrated the “mkdir -p ” command in Linux