mkdir Command in Linux with Examples

In the world of Linux, where creating and organizing folders is a fundamental task, the mkdir command stands as a trusty ally. Short for “make directory,” mkdir is a powerful command-line tool that allows you to create new directories or folders effortlessly.

Whether you’re a beginner or an experienced Linux user, understanding how to use mkdir effectively is essential. With this command, you can organize your files, group related data, and create complex directory structures, making your work more organized and efficient.

In this article, we’ll take you on a journey through the mkdir command in Linux, explaining its syntax, options, and providing practical examples to help you become a master of directory creation. So, let’s dive in and explore the world of mkdir!

mkdir Command’s Syntax

To effectively use the mkdir command in Linux, it’s essential to understand its basic syntax. Here’s a breakdown of how the command is structured and the components it consists of:

The basic syntax of the mkdir command is as follows:


Now, let’s break this down step by step:

mkdir: This is the actual command you type to instruct your Linux system to create a directory.

[OPTIONS]: These are optional modifiers that you can include to customize the behavior of the mkdir command. Options are typically preceded by a hyphen (-) and are used to specify things like permissions, verbosity, or the creation of parent directories.

DIRECTORY...: This is where you specify the name or names of the directories you want to create. You can create one or more directories in a single command. Separate multiple directory names with spaces.

For example, here’s how you might use the mkdir command:

To create a single directory named “my_directory,” you would use:

mkdir my_directory

To create multiple directories simultaneously, you can list their names like this:

mkdir dir1 dir2 dir3

If you need to create a directory along with its parent directories (if they don’t exist), you can use the -p option, like this:

mkdir -p parent_directory/child_directory

Understanding the syntax of the mkdir command is the first step in harnessing its capabilities. With this knowledge, you’ll be well-equipped to create directories in Linux and organize your files and data efficiently.

mkdir Command’s Options:

When using the mkdir command in Linux, you can enhance its functionality by including various options. Here, we’ll discuss some of the common options you can use with mkdir:

-p option (Create Parent Directories):

The -p option is incredibly useful when you want to create a directory along with its parent directories, even if the parent directories do not exist.

For example, if you want to create a directory called “photos” inside a directory called “vacation” but “vacation” doesn’t exist yet, you can use:

mkdir -p vacation/photos

This ensures that both “vacation” and “photos” directories are created, saving you from creating each level manually.

-m option (Specify Directory Permissions):

The -m option allows you to specify the permissions (or mode) for the newly created directory.

Permissions define who can read, write, or execute files within the directory.

You can set permissions using a three-digit octal number. For example, to give read, write, and execute permissions to the owner and read-only permissions to others, you can use:

mkdir -m 755 my_directory

In this case, “755” is the permission code.

-v option (Verbose Output):

The -v option stands for “verbose” and is used to provide more detailed information about the actions the mkdir command is performing.

When you include this option, mkdir will display each directory it creates, which can be helpful for tracking its progress.

For instance, if you use:

mkdir -v dir1 dir2 dir3

You will see output for each directory created, such as “mkdir: created directory ‘dir1’.”

-Z option (SELinux Context):

This option is specific to systems using SELinux, a security-enhanced Linux kernel.

It allows you to set the SELinux security context for the newly created directory.

Usage would look like:

mkdir -Z my_selinux_context my_directory

This option is less common but can be crucial for security in SELinux-enabled systems.

These options expand the functionality of the mkdir command, enabling you to create directories with specific permissions, create parent directories as needed, and receive detailed information about the process. Understanding these options provides you with greater control when managing your file system.

mkdir Command’s Examples:

Let’s dive into some practical examples to illustrate how to use the mkdir command effectively in various scenarios:

Creating a Single Directory:

To create a single directory, simply specify its name as an argument to the mkdir command. For instance:

mkdir my_directory

This will create a directory named “my_directory” in your current location.

Creating Multiple Directories:

You can create multiple directories in a single command by listing their names as arguments. For example:

mkdir dir1 dir2 dir3

This will create three directories: “dir1,” “dir2,” and “dir3.”

Using the -p Option for Nested Directories:

If you want to create a directory along with its parent directories, you can use the -p option. For instance:

mkdir -p parent_directory/child_directory

This command will create “parent_directory” if it doesn’t exist and then create “child_directory” inside it.

Directory Creation with Custom Permissions Using the -m Option:

To set custom permissions for a directory, use the -m option followed by the desired permission mode. For example:

mkdir -m 755 my_directory

In this case, “755” represents read, write, and execute permissions for the owner, and read-only permissions for others.

Verbose Output with the -v Option:

If you want to see detailed information about directory creation, include the -v option. For example:

mkdir -v dir1 dir2 dir3

This command will display output for each directory created, like “mkdir: created directory ‘dir1’.”

By following these examples, you can confidently create directories, even with custom permissions or within complex directory structures. The mkdir command’s versatility makes it a valuable tool for managing your file system in Linux.

Best Practices and Tips:

When using the mkdir command in Linux, it’s important to follow best practices to ensure efficient and safe directory creation. Here are some tips to help you use mkdir effectively:

Directory Naming Conventions:

Use descriptive and meaningful names for your directories. This makes it easier to understand the purpose of each directory.

Avoid using spaces or special characters in directory names, as they can lead to issues when working with files programmatically. Instead, use underscores or hyphens to separate words.

Specify Permissions Appropriately:

Be mindful of directory permissions to maintain security and privacy. Only grant the necessary permissions to users and groups.

Use the -m option to set permissions explicitly when creating directories. This ensures that access rights are correctly configured.

Use the -p Option to Avoid Errors:

When creating directories with parent-child relationships, employ the -p option. This prevents errors by creating any missing parent directories as needed.

For example, if you want to create “project/documents,” using mkdir -p project/documents will create both “project” and “documents” if they don’t exist.

Streamline Directory Creation:

Incorporate the creation of necessary directories into your workflow. This can save time when starting new projects or organizing files.

Consider creating shell scripts or aliases to automate directory creation with specific naming conventions or permissions.

Review and Adjust Permissions:

Regularly review and adjust directory permissions as needed. This ensures that users and groups have the appropriate access to files and directories.

Tools like chmod can help you modify permissions after directory creation.

Document Directory Structures:

Maintain documentation of complex directory structures, especially if multiple team members are involved. A simple text file explaining the purpose of each directory can be invaluable.

By following these best practices and tips, you can use the mkdir command efficiently and maintain a well-organized file system in Linux. Creating directories that are easy to navigate and secure is essential for effective file management.


In the Linux world, the mkdir command may seem simple, but it’s a powerful tool for creating directories efficiently and organizing your files effectively. By understanding its syntax, options, and best practices, you can streamline your workflow, ensure proper permissions, and maintain a well-structured file system. Whether you’re a beginner or an experienced Linux user, mastering mkdir is a fundamental step toward becoming proficient in managing your files and data.

Frequently Asked Questions (FAQs)

What is the mkdir command in Linux used for?

The mkdir command in Linux is used to create directories or folders on your file system.

How do I create a directory with a specific name?

Can I create multiple directories at once?

What is the -p option used for?

How can I set custom permissions for a directory?

What is the purpose of the -v option?

What are some best practices for using mkdir effectively?


Submit a Comment

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

Related Articles