做什么
创建一个或多个目录。
常用参数
| 参数 | 含义 |
|---|---|
-p |
自动建中间层(不存在就建) |
-m 755 |
同时指定权限 |
-v |
显示过程 |
实战
mkdir myfolder
mkdir folder1 folder2 folder3 # 一次建多个
mkdir -p a/b/c/d # 不存在的中间层自动建
mkdir -p project/{src,test,docs,bin} # ★ 大括号扩展,一行建多个子目录
mkdir -m 700 ~/.secret # 建时指定权限
{a,b,c} 是 Bash 大括号扩展——一行建项目骨架:
mkdir -p myproject/{src/{api,web,lib},test,docs,configs}
# 建出来:
# myproject/
# ├── src/{api,web,lib}/
# ├── test/
# ├── docs/
# └── configs/
坑
没
-p时建已存在的目录会报错:mkdir existing # mkdir: cannot create directory 'existing': File exists加
-p不报错(幂等)—— 脚本里推荐总用-p父目录不存在没
-p会失败:mkdir a/b/c # a 不存在 → 报错 mkdir -p a/b/c # ✓