mkdir 命令用来创建指定的名称的目录,要求当前目录中具有写权限,并且创建的目录名不能与已有的目录重名

命令格式

1
mkdir [选项] 目录

参数

1
2
3
4
5
-m, --mode=模式	# 设定权限<模式> (类似 chmod),而不是 rwxrwxrwx 减 umask
-p, --parents # 可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多层目录
-v, --verbose #每次创建新目录都显示信息
--help #显示此帮助信息并退出
--version #输出版本信息并退出

实例

  1. 创建一个空目录
  • 输入
    1
    mkdir test1
  • 输出
    1
    2
    3
    4
    5
    [root@localhost soft]# cd test
    [root@localhost test]# mkdir test1
    [root@localhost test]# ll
    总计 4drwxr-xr-x 2 root root 4096 10-25 17:42 test1
    [root@localhost test]#
  1. 递归创建多个目录
  • 输入
    1
    mkdir -p test2/test22
  • 输出
    1
    2
    3
    4
    5
    6
    7
    8
    [root@localhost test]# mkdir -p test2/test22
    [root@localhost test]# ll
    总计 8drwxr-xr-x 2 root root 4096 10-25 17:42 test1
    drwxr-xr-x 3 root root 4096 10-25 17:44 test2
    [root@localhost test]# cd test2/
    [root@localhost test2]# ll
    总计 4drwxr-xr-x 2 root root 4096 10-25 17:44 test22
    [root@localhost test2]#
  1. 创建权限为777的目录
  • 输入
    1
    mkdir -m 777 test3
  • 输出
    1
    2
    3
    4
    5
    6
    [root@localhost test]# mkdir -m 777 test3
    [root@localhost test]# ll
    总计 12drwxr-xr-x 2 root root 4096 10-25 17:42 test1
    drwxr-xr-x 3 root root 4096 10-25 17:44 test2
    drwxrwxrwx 2 root root 4096 10-25 17:46 test3
    [root@localhost test]#
  1. 创建新目录都显示信息
  • 输入
    1
    mkdir -v test4
  • 输出
    1
    2
    3
    4
    5
    6
    [root@localhost test]# mkdir -v test4
    mkdir: 已创建目录 “test4”
    [root@localhost test]# mkdir -vp test5/test5-1
    mkdir: 已创建目录 “test5”
    mkdir: 已创建目录 “test5/test5-1”
    [root@localhost test]#
  1. 一个命令创建项目的目录结构
  • 输入
    1
    mkdir -vp scf/{lib/,bin/,doc/{info,product},logs/{info,product},service/deploy/{info,product}} #/ 后的{}表示下一层目录  ,号表示同级目录
  • 输出
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    [root@localhost test]# mkdir -vp scf/{lib/,bin/,doc/{info,product},logs/{info,product},service/deploy/{info,product}}
    mkdir: 已创建目录 “scf”
    mkdir: 已创建目录 “scf/lib”
    mkdir: 已创建目录 “scf/bin”
    mkdir: 已创建目录 “scf/doc”
    mkdir: 已创建目录 “scf/doc/info”
    mkdir: 已创建目录 “scf/doc/product”
    mkdir: 已创建目录 “scf/logs”
    mkdir: 已创建目录 “scf/logs/info”
    mkdir: 已创建目录 “scf/logs/product”
    mkdir: 已创建目录 “scf/service”
    mkdir: 已创建目录 “scf/service/deploy”
    mkdir: 已创建目录 “scf/service/deploy/info”
    mkdir: 已创建目录 “scf/service/deploy/product”
    [root@localhost test]# tree scf/
    scf/
    |-- bin
    |-- doc
    | |-- info
    | `-- product
    |-- lib
    |-- logs
    | |-- info
    | `-- product
    `-- service
    `-- deploy
    |-- info
    `-- product
    12 directories, 0 files
    [root@localhost test]#