Skip to content

mkdir Command Cheat Sheet

mkdir (make directory) creates new directories.


Synopsis

mkdir [OPTION]... DIRECTORY...

Basic Usage

mkdir photos
You can create multiple directories at once:
mkdir photos videos notes


Parent Directories (-p)

The most important flag. 1. Creates parent directories if they don't exist. 2. Does not error if the directory already exists.

# Fails if /home/user/projects doesn't exist
mkdir /home/user/projects/website

# Works perfectly
mkdir -p /home/user/projects/website/assets/css

Set Permissions (-m)

Set the file mode (permissions) at creation time (like chmod).

# Create directory with read/write/execute for owner only
mkdir -m 700 private_folder
# Publicly readable
mkdir -m 755 public_folder

Verbose Output (-v)

Print a message for every created directory.

mkdir -v new_dir
# Output: mkdir: created directory 'new_dir'

Advanced: Brace Expansion

Combine mkdir with shell brace expansion for bulk creation.

# Create year folders
mkdir 202{3,4,5}

# Create complex structure
mkdir -p project/{src,bin,lib,doc/{html,pdf}}
Result: - project/src - project/bin - project/lib - project/doc/html - project/doc/pdf


Notes

  • umask: Default permissions are determined by umask. Typically directories get 755 or 775.
  • Spaces: If directory name has spaces, use quotes: mkdir "My Photos".