006 mkdir命令

命令说明

mkdir(make directory)用于创建目录,可一次创建一个或多个目录,配合 -p 可递归创建多级目录。

语法

mkdir [选项]... 目录名...

常用参数

参数说明
-p递归创建多级目录,父目录不存在时自动创建;目录已存在也不报错
-m MODE创建时直接指定权限,如 -m 755、-m 700
-v显示创建过程

使用示例

$ mkdir test

在当前目录创建 test 目录

$ mkdir /data/logs/app

错误:父目录 /data/logs 不存在时创建失败

$ mkdir -p /data/logs/app

递归创建多级目录,已存在也不报错

$ mkdir -p a/{b,c,d}

利用 shell 扩展一次创建 a/b、a/c、a/d

$ mkdir -m 700 /root/secret

创建权限为 700 的私有目录

$ mkdir dir1 dir2 dir3

一次创建多个目录

$ mkdir -pv /opt/app/{conf,data,logs}

显示过程并创建多个子目录

实用技巧

  • 不加 -p 时,若目录已存在 mkdir 会报 "File exists" 错误并返回非 0,脚本中建议统一加 -p。
  • 默认权限受 umask 影响:umask 022 时新建目录权限为 755;要精确控制用 -m。
  • 相关命令:rmdir 删除空目录,rm -r 递归删除非空目录(危险,慎用)。