描述
- rmdir命令用于删除空目录。
语法
- rmdir [OPTION]... DIRECTORY...
选项列表
选项(常用的已加粗) | 说明 |
--ignore-fail-on-non-empty | 忽略仅仅因为目录而导致的每次失败 |
-p, --parents |
递归删除空目录(仅删除空的目录)。 |
-v, --verbose |
输出每个处理的目录的详情 |
实例
-
rmdir -p a/b/c:递归删除空目录a下的所有空目录;如果rmdir -p a/b 会提示失败,因为b目录下还有一个空目录c,此时c目录作为一个“文件”处理。
[root@pople ~]# tree a/ a/ ├── a.txt └── b └── c 2 directories, 1 file [root@pople ~]# rmdir a/b/c [root@pople ~]# tree a/ a/ ├── a.txt └── b 1 directory, 1 file [root@pople ~]# rmdir a/b/ # 注意此时仅删除了空的目录,a目录因存在文件a.txt,故不会被删除。 [root@pople ~]# tree a/ a/ └── a.txt 0 directories, 1 file [root@pople ~]# mkdir -p a/b/c [root@pople ~]# rmdir -p a/b/ # 注意下面的输出已经提示c目录已作为b目录下的文件来处理,所以删除失败。 rmdir: failed to remove ‘a/b/’: Directory not empty [root@pople ~]# tree a/ a/ └── b └── c 2 directories, 0 files [root@pople ~]# rmdir -p a/b/c # 必须补全所有存在空目录的路径,才能删除所有空目录。 [root@pople ~]#
总结:递归删除一个空目录下的所有空目录,必须补全所有存在空目录的路径,才能删除所有空目录;因为此时空目录会被当做一个文件来处理。