rmdir
rmdir命令用于删除空目录,对于系统中无用的空白目录,大多都是浪费系统资源,我们通常都选择删除掉。使用rmdir命令时,可以加上路径,用于删除指定目录下的空目录,若不加选项,则是对于当前目录下进行删除空目录操作。
但要注意,在空目录中,无法对其进行删除操作,也无法删除不为空的目录,此外,想要删除空目录,其父目录还必须有修改权限。
这个命令只能删除空目录,可能很多人都会想,这个命令很鸡肋啊,我使用rm命令也能对其删除,他不香嘛,为什么还要记这个?
对于使用rm -r删除目录的操作,存在着严重的安全风险,可能会产生误操作,将有用的目录删除掉,对于我们来说,效率第二,安全第一。所以说,对于任何数据的删除操作,都需要谨慎处理。
这个时候,rmdir命令就有用武之地了,此命令用于删除空目录,若目录不为空,则会出现报错提示,不对其进行修改,对于误操作的我们而来,这种报错可能是幸运女神的眷顾。
语法
rmdir 【选项】 【参数】
选项
-p或–parents:删除指定目录后,若该目录的上层目录已变成空目录,则将其一并删除;
–ignore-fail-on-non-empty:此选项使rmdir命令忽略由于删除非空目录时导致的错误信息;
-v或-verboes:显示命令的详细执行过程;
–help:显示命令的帮助信息;
–version:显示命令的版本信息。
常用实例
例1:
直接使用,即可删除空目录
[root@linus test]# mkdir 1
[root@linus test]# ls
1
[root@linus test]# rmdir 1
[root@linus test]# ls
[root@linus test]#
而对于非空目录,则无法对其删除
[root@linus test]# mkdir 2
[root@linus test]# cd 2
[root@linus 2]# touch 1
[root@linus 2]# cd -
/test
[root@linus test]# rmdir 2/
rmdir: 删除 "2/" 失败: 目录非空
例2:忽略由于删除非空目录时导致的错误信息
[root@linus test]# mkdir -p dir/dir2/dir3
[root@linus test]# ls -R
.:
dir
./dir:
dir2
./dir/dir2:
dir3
./dir/dir2/dir3:
[root@linus test]# rmdir --ignore-fail-on-non-empty dir/
[root@linus test]# ls
dir
[root@linus test]# ls -R
.:
dir
./dir:
dir2
./dir/dir2:
dir3
./dir/dir2/dir3:
可以看到,虽然没有任何提示信息,但是没有将dir目录及其嵌套目录删除
例3:删除嵌套目录
[root@linus test]# cd /
[root@linus /]# rmdir -p /test/dir/dir2/dir3/
rmdir: 删除目录 "/" 失败: 设备或资源忙
[root@linus /]# ls |grep test
虽然显示了报错,但已经将test目录及其子目录删除了。那为什么会报错呢?
删除嵌套目录,是从最里面的子目录开始删除,上一级目录为空,继续删除,直到删除了/test目录。test目录里面所有的目录都是空目录,删除完dir3后,dir2就是一个空目录,然后…以此类推,直到删除了test,而/目录不可能为空,于是就显示了报错信息,这就是报错原因。