本次博文,讲解mkdir命令。本命令用于创建目录。
若指定目录不存在则创建目录。
mkdir [选项]... 目录...
短选项 | 长选项 | 含义(作用) |
---|---|---|
-m |
--mode=模式 |
设置权限模式(类似chmod),而不是rwxrwxrwx 减umask |
-p |
--parents |
需要时创建目标目录的上层目录,但即使这些目录已存在也不当作错误处理 |
-v |
--verbose |
每次创建新目录都显示信息 |
-Z |
--context=CTX |
将每个创建的目录的SELinux 安全环境设置为CTX |
--help |
显示帮助信息并退出 | |
--version |
显示版本信息并退出 |
[[email protected] 桌面]$ mkdir test <==建立一名为 test 的新目录
如果不使用-p选项,除非最后要创建的最后层级的目录的父目录存在(比如test1/test2/test3,要创建test3目录,然后test1/test2,可以不用-p选项,然后只创建test3目录),否则不会创建,并报错。
[[email protected] 桌面]# mkdir test [[email protected]n 桌面]# mkdir test1/test2/test3/test4 mkdir: 无法创建目录"test1/test2/test3/test4": 没有那个文件或目录 [[email protected] 桌面]# mkdir -p test1/test2/test3/test4 [[email protected] 桌面]# tree test1/ test1/ └── test2 └── test3 └── test4 3 directories, 0 files [[email protected] 桌面]# mkdir test1/test2/test3/test5 [[email protected] 桌面]# tree test1/ test1/ └── test2 └── test3 ├── test4 └── test5 4 directories, 0 files
参数后,以空格分隔目录名称,在前两个例子基础上,在test文件夹下做实验。
[[email protected] 桌面]# cd test [[email protected] test]# mkdir cep dod testlog <=== 该处cep以后空格隔开都是要创建的文件夹名字 [[email protected] test]# tree ../ ../ ├── test │ ├── cep │ ├── dod │ └── testlog └── test1 └── test2 └── test3 ├── test4 └── test5 9 directories, 0 files
或者多个目录用大括号({})括起来,并用逗号分隔。
[[email protected] test]# rm -rf cep/ dod/ testlog/ [[email protected] test]# mkdir {cep,dod,testlog} <=== 这里,后前后无空格 [[email protected] test]# tree ./ ./ ├── cep ├── dod └── testlog 3 directories, 0 files
逗号前后不能有空白,这个试验删除了前面创建的三个目录,如果逗号前后有空格,将会创建出下面目录:
[[email protected] test]# mkdir {cep, dod, testlog} [[email protected] test]# tree ./ ./ ├── {cep, ├── dod, └── testlog} 3 directories, 0 files
建立权限为rwx–x--x的目录(需要-m选项),该实践删除实践三创建的文件夹。不加-m选项,则使用默认权限设置,可以通过umask命令更改默认权限。
mkdir -m 711 test2
运行结果如下:
[[email protected] test]# mkdir -m 711 test2 [[email protected] test]# ls -ld test* drwx--x--x. 2 root root 4096 10月 13 06:32 test2
使用-v选项,为了使用前面的知识,选择了一个比较复杂的实例,首先删除了test文件夹下的所有文件(包括目录)。
mkdir -vp baklog/{bin,lib,log/{cep,dod,testlog}}
运行结果如下:
[[email protected] test]# mkdir -vp baklog/{bin,lib,log/{cep,dod,testlog}} mkdir: 已创建目录 "baklog" mkdir: 已创建目录 "baklog/bin" mkdir: 已创建目录 "baklog/lib" mkdir: 已创建目录 "baklog/log" mkdir: 已创建目录 "baklog/log/cep" mkdir: 已创建目录 "baklog/log/dod" mkdir: 已创建目录 "baklog/log/testlog"
本次博文,讲解mkdir命令。本命令用于创建目录。并且撰写了五个实例,希望能对各位有所收获。