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,而/目录不可能为空,于是就显示了报错信息,这就是报错原因。

Logo

更多推荐