作者: 一去、二三里
个人微信号: iwaleon
微信公众号: 高效程序员
mkdir 命令用于创建指定的目录。创建目录时,当前用户对需要操作的目录有读写权限。如果目录已经存在,会报错并退出。
命令介绍
-
命令名称
mkdir -
基本语法
mkdir [选项]… 目录… -
功能描述
如果目录不存在,则创建
命令选项
选项 | 说明 |
---|---|
-m, --mode=MODE | 设定文件模式(类似 chmod),而不是 rwx - umask |
-p, --parents | 该选项后跟路径名称,可以是绝对路径或相对路径,如果目录不存在则会创建 |
-v, --verbose | 为每个创建的目录打印一条信息 |
--help | 显示帮助信息并退出 |
--version | 显示版本信息并退出 |
使用范例
1.创建一个空目录
[wang@localhost doc]$ mkdir html
[wang@localhost doc]$ ls
c html linux php program python
2.指定新创建目录的权限
[wang@localhost css]$ mkdir -m 777 css3
[wang@localhost css]$ ls -l
总用量 0
drwxrwxr-x. 2 wang wang 6 9月 29 13:41 css2
drwxrwxrwx. 2 wang wang 6 9月 29 13:43 css3
3.创建存在或不存在的目录
如果目录存在,会提示错误信息并退出。使用选项 -p
可以创建存在或不存在的目录。
[wang@localhost doc]$ mkdir python
mkdir: 无法创建目录"python": 文件已存在
[wang@localhost doc]$ mkdir -p python
4.递归创建多个目录
逐步创建每级子目录比较束缚,使用 -p
选项并在单个命令中创建所有父目录及其子目录要容易得多。花时间有意识地养成这个好习惯是值得的。
**注意:**如果不使用任何选项,当父目录不存在时,会提示错误信息并退出。
[wang@localhost doc]$ mkdir css/css2
mkdir: 无法创建目录"css/css2": 没有那个文件或目录
[wang@localhost doc]$ mkdir -p css/css2
[wang@localhost doc]$ cd css
[wang@localhost css]$ ls
css2
5.为每个创建的目录打印一条信息
[wang@localhost doc]$ mkdir -v js
mkdir: 已创建目录 "js"
[wang@localhost doc]$ mkdir -vp c++/qt
mkdir: 已创建目录 "c++"
mkdir: 已创建目录 "c++/qt"
6.使用一个命令来定义复杂的目录树
可以使用 -p
选项来创建整个复杂的目录树(在脚本中使用非常理想),而不只是创建简单的层次结构。
[wang@localhost doc]$ mkdir -vp python/requests/{lib,bin,doc/{chm,pdf,word},language/{zh,en}}
mkdir: 已创建目录 "python/requests"
mkdir: 已创建目录 "python/requests/lib"
mkdir: 已创建目录 "python/requests/bin"
mkdir: 已创建目录 "python/requests/doc"
mkdir: 已创建目录 "python/requests/doc/chm"
mkdir: 已创建目录 "python/requests/doc/pdf"
mkdir: 已创建目录 "python/requests/doc/word"
mkdir: 已创建目录 "python/requests/language"
mkdir: 已创建目录 "python/requests/language/zh"
mkdir: 已创建目录 "python/requests/language/en"
[wang@localhost doc]$ tree python/requests/
python/requests/
├── bin
├── doc
│ ├── chm
│ ├── pdf
│ └── word
├── language
│ ├── en
│ └── zh
└── lib
9 directories, 0 files
**注意:**无写权限不能创建目录
[wang@localhost doc]$ mkdir -p /soft/nginx
mkdir: 无法创建目录"/soft": 权限不够
这些都是日常操作中经常用到的,关于其他用法,可以使用 man mkdir
或者 mkdir --help
来查询手册页。