Linux命令行创建文件夹以mkdir为核心命令,基础用法为mkdir 文件夹名,实用技巧包括:用-p参数递归创建多级目录(如mkdir -p dir1/dir2);-m可设置权限(如mkdir -m 755 dir);支持批量命名(如mkdir dir{1..3});-p还能避免目录已存在时报错,掌握这些技巧能高效管理文件系统,提升操作效率。
在Linux系统中,命令行操作是高效管理文件和文件夹的核心能力,无论是服务器运维、脚本开发还是日常使用,掌握文件夹创建的命令行方法都能大幅提升工作效率,本文将详细介绍Linux命令行下创建文件夹的核心命令mkdir,从基础用法到进阶技巧,助你轻松应对各种场景。
基础命令:mkdir——创建文件夹的利器
mkdir(Make Directory)是Linux系统中用于创建文件夹(目录)的专用命令,其基本语法非常简单,适合新手快速上手。
创建单个文件夹
最简单的用法是直接指定文件夹名称,mkdir会在当前路径下创建一个新文件夹。
示例:
在当前目录下创建名为docs的文件夹:

mkdir docs
执行后,可通过ls命令查看,当前目录下会出现docs文件夹。
创建多个文件夹
如果需要一次性创建多个文件夹,只需在命令中用空格分隔文件夹名称即可。
示例:
同时创建logs、temp、backup三个文件夹:
mkdir logs temp backup
这相当于依次执行三个mkdir命令,但通过一次命令完成,更高效。
创建嵌套文件夹(多级目录)
当需要创建包含多层嵌套的文件夹时(如project/src/utils),直接使用mkdir会报错(因为父目录project/src不存在),此时需结合-p选项(--parents),自动创建不存在的父目录。
示例:
创建嵌套文件夹project/src/utils:
mkdir -p project/src/utils
若project或project/src已存在,-p选项会忽略已存在的目录,仅创建缺失的部分,避免报错。
进阶技巧:mkdir选项的灵活应用
mkdir命令支持多个选项,通过组合使用可实现更精细的控制,满足复杂场景需求。
-v(verbose)——显示创建过程
默认情况下,mkdir成功执行时不输出任何信息,使用-v选项,可以显示每个创建的目录名称,便于确认操作结果。
示例:
创建test文件夹并显示创建过程:
mkdir -v test
输出:mkdir: created directory 'test'
-m(mode)——设置文件夹权限
Linux中文件和文件夹的权限通过r(读)、w(写)、x(执行)组合控制,-m选项允许在创建时直接指定权限(八进制表示)。
示例:
创建data文件夹,并设置权限为750(所有者可读/写/执行,用户组可读/执行,其他用户无权限):
mkdir -m 750 data
可通过ls -ld data查看权限,输出类似drwxr-x--- 2 user group 4096 May 10 10:30 data。
结合路径操作:绝对路径与相对路径
- 绝对路径:从根目录开始的完整路径,不受当前目录影响。
示例:在/home/user下创建docs文件夹:mkdir /home/user/docs
- 相对路径:基于当前目录的路径,如(当前目录)、(上级目录)。
示例:假设当前在/home/user,创建../backup(即/home/backup):mkdir ../backup
结合花括号扩展:批量创建有规律的文件夹
如果需要创建一系列名称有规律的文件夹(如dir1、dir2、dir3),可使用花括号扩展,避免重复输入。
示例:
同时创建dir1到dir3三个文件夹:
mkdir dir{1,2,3}
甚至支持嵌套扩展,如创建project/a、project/b、test/a、test/b:
mkdir -p project/{a,b} test/{a,b}
常见错误与解决方法
忘记-p选项导致嵌套目录创建失败
错误示例:
mkdir project/src/utils # 若project/src不存在,报错:mkdir: cannot create directory 'project/src/utils': No such file or directory
解决:添加-p选项,自动创建父目录:
mkdir -p project/src/utils
权限不足导致无法创建
错误示例:
在/root目录下创建文件夹(普通用户无权限):
mkdir /root/newdir # 报错:mkdir: cannot create directory '/root/newdir': Permission denied
解决:使用sudo提升权限:
sudo mkdir /root/newdir
文件夹名称包含特殊字符
若文件夹名称包含空格、、等特殊字符,需用引号包裹,避免命令解析错误。
示例:
创建名为my documents的文件夹:
mkdir "my documents"
或使用转义字符:
mkdir my\ documents
实用场景示例
批量创建项目目录结构
开发一个Web项目时,需要创建标准的目录结构(如src、static、logs、config等):
mkdir -p myweb/{src,static/{css,js},logs,config}
执行后,目录结构为:
myweb/
├── src/
├── static/
│ ├── css/
│ └── js/
├── logs/
└── config/
根据文件列表批量创建文件夹
假设有一个文件dirs.txt为待创建的文件夹名称(每行一个),可通过xargs批量创建:
cat dirs.txt | xargs mkdir
dirs.txt
temp
backup
archive
创建带时间戳的备份文件夹
备份时,常需要以时间命名文件夹(如backup_20231010),结合date命令动态生成:
mkdir -p backup_$(date +%Y%m%d)
$(date +%Y%m%d)会执行date命令并输出当前日期(如20231010),最终创建backup_20231010文件夹

