Skip to main content

Command Palette

Search for a command to run...

How to Make a Directory in Linux

Updated
5 min read

Creating directories in Linux is a fundamental skill that you’ll use often. Whether you’re organizing files or setting up a project, knowing how to make directories quickly and efficiently can save you time. In this guide, I’ll walk you through the easiest ways to create directories in Linux, using commands you can run in any terminal.

You don’t need to be an expert to follow along. I’ll explain each step clearly, so you can start managing your files like a pro. By the end, you’ll know how to create single or multiple directories, set permissions, and even use graphical tools if you prefer. Let’s dive in and get your Linux directories set up!

Understanding Directories in Linux

Directories in Linux are like folders on your computer. They help you organize files and other directories in a neat structure. Every directory has a path, which tells you where it is located in the system.

  • The root directory is /, the top-level directory.
  • Subdirectories are inside other directories, like /home/user/Documents.
  • You can create as many directories as you want to keep your files organized.

Knowing how to create directories is essential because many Linux commands and programs rely on directory structures to work properly.

Using the mkdir Command to Create Directories

The most common way to make a directory in Linux is with the mkdir command. It stands for “make directory” and is simple to use.

Basic Syntax

mkdir directory_name

This command creates a new directory with the name you specify.

Example

If you want to create a directory called projects, you would type:

mkdir projects

This creates a folder named projects in your current location.

Creating Multiple Directories at Once

You can also create several directories in one command by listing their names separated by spaces:

mkdir dir1 dir2 dir3

This will create three directories named dir1, dir2, and dir3.

Creating Nested Directories

Sometimes, you want to create a directory inside another directory that doesn’t exist yet. Use the -p option to create parent directories as needed.

mkdir -p parent/child/grandchild

This command creates the whole path, even if parent or child directories don’t exist.

Setting Permissions When Creating Directories

Linux directories have permissions that control who can read, write, or execute them. By default, mkdir creates directories with default permissions based on your system’s settings.

Using the -m Option

You can set permissions at the time of creation with the -m (mode) option.

mkdir -m 755 new_directory

This sets the directory’s permissions to 755, meaning:

  • Owner can read, write, and execute.
  • Group and others can read and execute.

Understanding Permission Numbers

  • 7 = read, write, execute
  • 6 = read, write
  • 5 = read, execute
  • 4 = read only

Setting permissions correctly is important for security and access control.

Creating Directories Using Graphical Tools

If you prefer not to use the terminal, most Linux desktop environments offer graphical file managers where you can create directories easily.

Steps to Create a Directory Graphically

  • Open your file manager (like Nautilus, Dolphin, or Thunar).
  • Navigate to the location where you want the new directory.
  • Right-click in the window and select “New Folder” or “Create Folder.”
  • Enter the folder name and press Enter.

This method is user-friendly and works well if you’re new to Linux or prefer visual tools.

Checking Your Directory Structure

After creating directories, you might want to check that they exist and see their contents.

Using ls Command

ls -l

This lists files and directories with details like permissions and modification dates.

Using tree Command

If you want a visual tree of directories, install and use the tree command:

tree

It shows a hierarchical view of directories and files.

Renaming and Moving Directories

Once you create directories, you might want to rename or move them.

Renaming Directories

Use the mv command to rename:

mv old_directory_name new_directory_name

Moving Directories

To move a directory to another location:

mv directory_name /path/to/new/location/

This is useful for organizing your files after creating directories.

Troubleshooting Common Issues

Sometimes, you might face errors when creating directories.

Permission Denied

If you get a “Permission denied” error, you might not have rights to create directories in that location.

  • Use sudo to create directories with admin rights:
sudo mkdir /restricted_directory
  • Or choose a directory where you have write permission, like your home folder.

Directory Already Exists

If the directory already exists, mkdir will show an error.

  • Use mkdir -p to avoid errors if the directory exists.
  • Or check first with ls before creating.

Tips for Organizing Directories Effectively

Good directory organization helps you find files quickly and keeps your system tidy.

  • Use meaningful names for directories.
  • Group related files together.
  • Use nested directories for large projects.
  • Regularly clean up unused directories.

Summary Table: Common mkdir Options

OptionDescriptionExample
-pCreate parent directories as neededmkdir -p folder/subfolder
-mSet permissions (mode)mkdir -m 700 secure_folder
NoneCreate a single directorymkdir new_folder

Conclusion

Making directories in Linux is straightforward once you know the commands and options. The mkdir command is your main tool, allowing you to create single or multiple directories, nested folders, and set permissions easily. You can also use graphical file managers if you prefer a visual approach.

By mastering directory creation, you’ll improve your file organization and workflow in Linux. Remember to check permissions and use the right options to avoid errors. With these skills, managing your Linux files becomes much simpler and more efficient.

FAQs

How do I create a directory with spaces in its name?

Use quotes around the directory name:

mkdir "My Folder"

This creates a directory named “My Folder” with spaces.

Can I create directories for other users?

Yes, but you need appropriate permissions or use sudo to create directories in locations owned by others.

What does the -p option do in mkdir?

It creates parent directories as needed, so you can create nested directories in one command without errors.

How do I check the permissions of a directory?

Use ls -ld directory_name to see detailed permissions and ownership of a directory.

Is there a way to create directories quickly in bulk?

Yes, you can list multiple directory names in one mkdir command or use a script to automate creation.

More from this blog

L

LinuxBloke | Linux Tips, Tricks & Troubleshooting

672 posts