一、创建目录

mkdir 命令,是 make directories 的缩写,用于创建新目录。

基本格式为:[root@localhost ~]# mkdir [-mpv] 目录名称

-m: 用于手动配置所创建目录的权限,而不再使用默认权限。

-p: 递归创建目录,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录;以创建 /home/test1/test2 为例,在默认情况下,你需要一层一层创建各个目录,而使用 -p 选项,则系统会自动帮你创建 /home、/home/test1 以及 /home/test1/test2。

-v: 显示创建目录过程信息。

【例 1】创建目录。

[root@localhost ~]#mkdir my_work
[root@localhost ~]#ls
anaconda-ks.cfg  my_work

我们建立一个名为 my_work 的目录,通过 ls 命令可以查看到这个目录已经建立。

【例 2】使用 -p 选项递归创建目录。

[root@localhost ~]# mkdir home/test1/test2
mkdir:cannot create directory 'home/test1/test2': No such file or directory
[root@localhost ~]# mkdir -p home/test1/test2
[root@localhost ~]# ls
anaconda-ks.cfg  home  my_work
[root@localhost ~]# ls home
test1
[root@localhost ~]# ls home/test1
test2

这里只能查看一级子目录,其实后续的test1目录、test2目录都已经建立。

【例 3】使用 -m 选项自定义目录权限。

[root@localhost ~]# mkdir -m 711 my
[root@localhost ~]# ls -l
total 4
-rw-------.   1 root root 1257 Mar 11 20:22 anaconda-ks.cfg
drwxr-xr-x. 3 root root     19 Mar 19 10:20 home
drwx--x--x. 2 root root       6 Mar 19 10:24 my
drwxr-xr-x. 2 root root       6 Mar 19 10:16 my_work

注意返回的权限部分,也就是 ls 命令输出的第一列数据(红色部分),由于my_work 和 home 目录未使用 -m 选项设定访问权限,因此这两个目录采用的是默认权限(默认权限值是 755)。而在创建 my 时,使用了 -m 选项,通过设定 711 权限值来给予新的目录 drwx--x--x 的权限。

二、删除空目录

rmdir 命令,是 remove empty directories 的缩写,用于用于删除空目录。

基本格式为:[root@localhost ~]# rmdir [-pv] 目录名称

-p: 递归删除空目录。

-v: 显示删除空目录过程信息。

【例 1】删除空目录

[root@localhost ~]#rmdir my_work
[root@localhost ~]# ls
anaconda-ks.cfg  home  my
[root@localhost ~]#rmdir home/test1/test2/
[root@localhost ~]#ls test1
ls: cannot access test1: No such file or directory

我们删除目录 my_work ,通过 ls 命令可以查看到这个目录已经删除;我们删除目录 test2 ,通过 ls test1 可以查看 test1 目录下 test2 已成功删除。


【例 2】使用 -p 选项递归删除空目录。

[root@localhost ~]# rmdir -p home /test1/
[root@localhost ~]#ls
anaconda-ks.cfg  my

此方式先删除最低层的目录,再逐层删除上级目录,删除时需保证各级目录均为空目录。

【例 3】删除非空目录(报错)

[root@localhost ~]# mkdir test                                     #建立测试目录
[root@localhost ~]# touch test/wenjian                        #在测试目录中建立一个文件
[root@localhost ~]# rmdir test
rmdir: failed to remove 'test': Directory not empty

rmdir 命令的作用十分有限,它只能刪除空目录,所以一旦目录中有内容,就会报错。所以命令执行成功与否,取决于要删除目录是否是空目录。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐