linux基础命令--rmdir 删除空目录

描述

  • 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 ~]# 

 总结:递归删除一个空目录下的所有空目录,必须补全所有存在空目录的路径,才能删除所有空目录;因为此时空目录会被当做一个文件来处理。

  

   

原文地址:https://www.cnblogs.com/yuelaoban/p/10708459.html