描述
- 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 ~]#
總結:遞歸刪除一個空目錄下的所有空目錄,必須補全所有存在空目錄的路徑,才能刪除所有空目錄;因為此時空目錄會被當做一個文件來處理。