從資料夾中刪除很多很多文件

從資料夾中刪除很多很多文件

我有一個資料夾,裡面有 137795 個文件。我需要將它們全部刪除。當我跑步時,rm *我得到了-bash: /bin/rm: Argument list too long。我該如何克服這個錯誤?

答案1

正如我所看到的,您不需要刪除 dir ,只需刪除裡面的檔案。所以你可以重新創建它

rm -r /path/to/dir && mkdir /path/to/dir

甚至只刪除裡面的文件

find /path/to/dir -type f -delete

公平的第一個工作得更快。

UPD。請注意,從空間消耗的角度來看, with 的方式find可能不是最佳的,因為目錄大小只有在fsck.細節

答案2

解決方法#1:

find /path/to/dir -delete

解決方法#2:

rm a*;

rm b*;

rm c*;

etc

答案3

使用find可能是最好的選擇。其他答案的一些問題要么不刪除目錄內的所有內容,要么刪除目錄本身。如果沒有特殊字符,您可以ls與 一起使用,或與某些選項一起使用。xargsfind

ls -1 | xargs rm -r

或者

find . -depth -path ./.* -prune -o -not -name . -delete

這將忽略目前目錄中以.( -prune) 開頭的任何內容,並將刪除任何其他檔案或目錄,只要它不是頂級目錄 ( .)。將-depth首先查看目錄內部,這將避免“目錄不為空”錯誤。如果該-not參數在您的系統上不可用,則使用!

相關內容