Linux

如何刪除文件夾中的所有目錄

  • November 27, 2020

我想刪除文件夾中的所有目錄download

/content/download/documents/
/content/download/music/
/content/download/videos/
/content/download/pictures/

我曾嘗試使用刪除它們,rm但它不起作用。

rm -rf '/content/download/*/'

萬用字元*不會在引號內擴展(無論是在單引號內還是雙引號內),因此您需要將其寫在引號中:

rm -rf '/content/download/'*/

但是,僅當路徑或文件名包含空格/換行符或其他一些對 shell 來說特殊的字元時才需要引號,以防止 shell 解釋它們。

尾隨/,將在符號連結解析後*/擴展到目錄類型的所有文件,因此還將包含指向目錄的符號連結。擴展將類似於那些。這些會發生什麼取決於實施。對於通常在基於 Linux 的系統上找到的那些,它將(遞歸地)刪除符號連結的目標目錄的內容,但不會刪除符號連結或目錄本身。/content/download/dirlink/``rm

另請注意,它不會刪除隱藏目錄。


如果您的 shell 是 bash,您可以在其手冊中閱讀更多內容,尤其是:

引用自:https://unix.stackexchange.com/questions/621632