01、目录
文章目录
02、命令描述
mkdir命令是"make directories"的缩写,若指定目录不存在则创建目录。
注意:默认状态下,如果要创建的目录已经存在,则提示已存在,而不会继续创建目录。 所以在创建目录时,应保证新建的目录与它所在目录下的文件没有重名,不然则创建失败。
要创建文件夹或目录的用户必须对所创建的文件夹的父文件夹具有写权限。并且,所创建的文件夹(目录)不能与其父目录(即父文件夹)中的文件名重名,即同一个目录下不能有同名的(区分大小写)。
03、命令格式
mkdir [选项] 目录…
04、常用选项
长选项必须使用的参数对于短选项时也是必需使用的。
-m, --mode=模式 设置权限模式(类似chmod),而不是rwxrwxrwx 减umask
-p, --parents 需要时创建目标目录的上层目录,但即使这些目录已存在也不当作错误处理
-v, --verbose 每次创建新目录都显示信息
-Z, --context=CTX 将每个创建的目录的SELinux 安全环境设置为CTX
--help 显示此帮助信息并退出
--version 显示版本信息并退出
05、参考示例
5.1、 创建一个空目录
[deng@localhost test]$ mkdir www
[deng@localhost test]$ ls
www
[deng@localhost test]$
5.2、 创建权限为755的目录
[deng@localhost test]$ mkdir -m 755 html
[deng@localhost test]$ ls -ld html
drwxr-xr-x 2 deng deng 6 7月 12 10:15 html
[deng@localhost test]$
5.3、 递归创建多个目录
[deng@localhost test]$ mkdir a/b/c
mkdir: 无法创建目录"a/b/c": 没有那个文件或目录
[deng@localhost test]$ mkdir -p a/b/c
[deng@localhost test]$ tree a
a
└── b
└── c
2 directories, 0 files
[deng@localhost test]$
5.4、 创建目录的过程中显示信息
[deng@localhost test]$ mkdir -v -p a/b/c
mkdir: 已创建目录 "a"
mkdir: 已创建目录 "a/b"
mkdir: 已创建目录 "a/b/c"
5.5、 创建项目的目录结构
[deng@localhost test]$ mkdir -v -p project/requests/{lib,bin,doc/{chm,pdf,word},language/{zh,en}}
mkdir: 已创建目录 "project"
mkdir: 已创建目录 "project/requests"
mkdir: 已创建目录 "project/requests/lib"
mkdir: 已创建目录 "project/requests/bin"
mkdir: 已创建目录 "project/requests/doc"
mkdir: 已创建目录 "project/requests/doc/chm"
mkdir: 已创建目录 "project/requests/doc/pdf"
mkdir: 已创建目录 "project/requests/doc/word"
mkdir: 已创建目录 "project/requests/language"
mkdir: 已创建目录 "project/requests/language/zh"
mkdir: 已创建目录 "project/requests/language/en"
[deng@localhost test]$ tree project/
project/
└── requests
├── bin
├── doc
│ ├── chm
│ ├── pdf
│ └── word
├── language
│ ├── en
│ └── zh
└── lib
10 directories, 0 files
[deng@localhost test]$
5.6、 如果没有权限,则不能创建目录
[deng@localhost test]$ mkdir /project
mkdir: 无法创建目录"/project": 权限不够
[deng@localhost test]$
5.7、 批量创建目录
[deng@localhost test]$ mkdir html{1..100}
[deng@localhost test]$ ls
html1 html2 html30 html41 html52 html63 html74 html85 html96
html10 html20 html31 html42 html53 html64 html75 html86 html97
html100 html21 html32 html43 html54 html65 html76 html87 html98
html11 html22 html33 html44 html55 html66 html77 html88 html99
html12 html23 html34 html45 html56 html67 html78 html89
html13 html24 html35 html46 html57 html68 html79 html9
html14 html25 html36 html47 html58 html69 html8 html90
html15 html26 html37 html48 html59 html7 html80 html91
html16 html27 html38 html49 html6 html70 html81 html92
html17 html28 html39 html5 html60 html71 html82 html93
html18 html29 html4 html50 html61 html72 html83 html94
html19 html3 html40 html51 html62 html73 html84 html95
[deng@localhost test]$
5.8、 创建存在或不存在的目录
如果目录存在就会报错,如果目录存在指定-p,则不会报错,但是不会创建目录。
[deng@localhost test]$ ls
html
[deng@localhost test]$ mkdir html
mkdir: 无法创建目录"html": 文件已存在
[deng@localhost test]$ mkdir -p html
[deng@localhost test]$ ls
html
[deng@localhost test]$
06、 小结
既然有目录、文件的创建,肯定就有删除,下一个命令就是删除文件、目录的rmdir命令。
关于递归创建目录或文件在实际中是非常实用的,一定要好好掌握。
版权声明:转载请注明出处,谢谢!