Mkdir Command in Linux with Examples

Mkdir Command on Linux

Linux, a powerful and versatile operating system, has gained immense popularity among developers, system administrators, and technology enthusiasts worldwide. One of the key aspects of working with Linux is effective file management, which involves organizing and structuring directories to maintain a clean and efficient workspace. The mkdir command is a fundamental tool in Linux that allows users to create directories with ease. In this comprehensive guide, we will explore the mkdir command in detail, providing examples and insights to help you master directory creation in Linux.

Understanding the Basics of the mkdir Command

The mkdir command, short for “make directory,” is a Linux command-line utility that enables users to create new directories. Its primary function is to create a directory or multiple directories at the specified path. The basic syntax of the mkdir command is as follows:


In this syntax, [OPTIONS] represents the various options that can be used with the mkdir command to modify its behavior, while DIRECTORY specifies the name of the directory or directories to be created.

Key Options and Their Usage

The mkdir command offers several options that provide additional functionality and flexibility. Let’s explore some of the commonly used options along with examples:

  • -m or --mode: This option allows you to set the permissions for the newly created directory. For example, to create a directory named “mydir” with read, write, and execute permissions for the owner, you can use the following command:
mkdir -m 755 mydir
  • -p: The -p option enables the creation of parent directories if they don’t exist. It is particularly useful when creating nested directories. For instance, to create a directory structure like “parent/child/grandchild,” you can use:
mkdir -p parent/child/grandchild
  • -v or --verbose: When used, this option provides verbose output, displaying a message for each directory created. It can be helpful for tracking the progress of directory creation, especially when creating multiple directories. Example:
mkdir -v project1 project2 project3
  • --help: If you need a quick reference or help with the mkdir command, you can use the --help option to display the command’s manual page, which provides detailed information about its usage and available options.
  • --version: To check the version of the mkdir command installed on your Linux system, you can use the --version option.

Step-by-Step Guide to Creating Directories

Now that we have a basic understanding of the mkdir command and its options, let’s walk through the process of creating directories step by step.

Creating a Single Directory

To create a single directory, simply specify the name of the directory after the mkdir command. For example, to create a directory named “myfolder,” use the following command:

mkdir myfolder

Upon executing this command, a new directory named “myfolder” will be created in the current working directory.

Creating Multiple Directories Simultaneously

The mkdir command allows you to create multiple directories at once by specifying their names separated by spaces. For instance, to create three directories named “dir1,” “dir2,” and “dir3,” you can use:

mkdir dir1 dir2 dir3

This command will create all three directories in the current working directory.

Creating Nested Directories with -p

When creating a directory structure with multiple levels, the -p option comes in handy. It automatically creates any missing parent directories. Consider the following example:

mkdir -p project/src/main/java

In this case, the mkdir command will create the entire directory structure, including “project,” “src,” “main,” and “java,” even if the parent directories don’t exist.

Setting Permissions with mkdir

Linux follows a robust file permission system that controls access to files and directories. When creating a directory with mkdir, you can specify the desired permissions using the -m option.

To create a directory with specific permissions, use the -m option followed by the octal representation of the permissions. For example, to create a directory named “securedir” with read and write permissions for the owner and read permissions for others, use:

mkdir -m 644 securedir

In the octal notation, each digit represents a permission level: 4 for read, 2 for write, and 1 for execute. The three digits correspond to the owner, group, and others, respectively.

Advanced Usage of mkdir

The mkdir command can be combined with other Linux commands to perform more advanced directory management tasks. Here are a couple of examples:

  • Combining mkdir with chmod: After creating a directory, you can use the chmod command to modify its permissions. For instance, to create a directory named “datadir” and then grant read, write, and execute permissions to the owner, you can use:
mkdir datadir
chmod 700 datadir
  • Organizing project files: When working on a software development project, you can use mkdir to create a structured directory tree. For example:
mkdir -p myproject/{src,bin,docs,tests}

This command creates a “myproject” directory with subdirectories “src,” “bin,” “docs,” and “tests,” providing a clean organization for your project files.

Common Errors and Troubleshooting

While using the mkdir command, you may encounter certain errors. Here are a couple of common issues and how to resolve them:

  1. Permission denied: If you receive a “Permission denied” error when trying to create a directory, it means you don’t have sufficient permissions to write in the current directory. To resolve this, either change to a directory where you have write permissions or use sudo to run the command with elevated privileges.
  2. Directory already exists: If you attempt to create a directory that already exists, mkdir will throw an error. To avoid this, you can use the -p option, which will silently ignore the error if the directory already exists.


The mkdir command is a powerful tool in the Linux command-line arsenal, enabling users to create directories efficiently. By understanding its basic syntax, options, and advanced usage scenarios, you can streamline your file management tasks and maintain a well-structured Linux environment. Whether you are a beginner or an experienced Linux user, mastering the mkdir command is essential for effective directory management. So, go ahead and practice creating directories, experiment with different options, and leverage the power of mkdir to keep your Linux file system organized and optimized.


r00t is a seasoned Linux system administrator with a wealth of experience in the field. Known for his contributions to, r00t has authored numerous tutorials and guides, helping users navigate the complexities of Linux systems. His expertise spans across various Linux distributions, including Ubuntu, CentOS, and Debian. r00t's work is characterized by his ability to simplify complex concepts, making Linux more accessible to users of all skill levels. His dedication to the Linux community and his commitment to sharing knowledge makes him a respected figure in the field.
Back to top button