在Linux系統中很多空目錄會導致雜亂無章,其實這些空目錄是沒啥用的,在刪除這些空目錄時,手動搜索和刪除每個目錄都成為一項艱巨的任務。
使用命令行刪除目錄時,它們將被永久刪除,即它們不會被移動到垃圾箱。rmdir 和 rm 命令一次只能用於手動刪除一個或多個目錄。find 命令用於搜索所有空目錄,並使用單個命令將其全部刪除。下面來看一下是如何使用的。
1,刪除空目錄使用rmdir命令
rmdir 命令用於刪除空目錄。它只刪除空目錄,因此,如果目錄不為空,它將顯示目錄不為空的錯誤。使用此命令時,您不需要檢查空目錄,要使用rmdir命令。

從上圖可以看出通過rmdir刪除目錄test開頭的空目錄,test5不是空目錄刪除的時候報錯不受空目錄。rmdir刪除目錄的時候不是空目錄是不會被刪除的。其實test5下面也有一個空目錄,有沒有啥辦法可以刪除這倆目錄。下面就來看一看rmdir加上參數能不能行。

從上圖可以看出通過rmdir -p test5/test,能夠刪除子目錄為空目錄以及父目錄為空的目錄,如果子目錄為空,父目錄不為空,父目錄不會被刪除。
在來看一個反例,test5目錄下有test1,test2目錄,test1目錄下有一個文件test,test2為空目錄,刪除test2,不能刪除test5,test5目錄不為空目錄,刪除test1目錄,test1目錄不為空目錄,下面有一個文件。

2,刪除空目錄使用rm命令
與 rmdir 命令不同,rm 命令用於刪除文件和目錄,無論是空的還是非空的。當使用不帶任何參數的 rm 命令時,它不會刪除目錄:
通過上面的命令可以看出使用rm是不能刪除目錄的,刪除目錄需要在rm 后面加上參數-d 。

通過上圖看出rm -d 刪除空目錄,下面接着看一下test5目錄不是空目錄,目錄下有一個文件tt看能否刪除目錄。

3,刪除空目錄使用find命令
查找命令用於搜索文件和目錄。使用查找命令和一些參數,我們可以搜索系統中的所有空目錄並刪除它們。
下面是對上面的命令的一個解釋:
- path : 要搜索的目錄的路徑
- -type d: 將搜索限制為僅目錄(也可以使用 -type f 搜索文件)
- -empty:僅將搜索限制為空目錄

通過上面可以看出使用該命令可以查找出該目錄下的所有空目錄。接下來看看如何刪除,其實很簡單,在命令后面加上一個-delete即可。

總結: 通過以上3種方式都可以刪除空目錄,rmdir 和rm只能對單個目錄或多個目錄進行一個一個刪除而find 命令可以查出所有的空目錄一次進行刪除。
