2015-11-03 81 views
0

我有一個目錄pics_temp這是soooo大,我甚至不能ls那個目錄,它有數百萬個文件。我想刪除該文件。我不能使用rmrmdirxargs rm -rf,因爲它會花費更多的時間,程序將自行終止,那麼大的目錄...是否有任何方法可以刪除該目錄?在linux刪除目錄(甚至不能ls該目錄)

我可以編寫shell腳本並將其放在cron作業中,或者是否有任何其他方式來刪除該目錄中的內容?

感謝您的幫助。

+0

我認爲這是題外話,你應該把它發佈在超級用戶 –

+0

爲什麼你認爲「程序會自行終止」?什麼時間限制制度強加這種限制?即使它提前終止,它也會取得一些進展,進一步運行應該會取得更多進展,直到最終完成 –

+0

我需要該文件夾,我想刪除該文件夾中的內容。如果我想刪除那麼大的工作更快的巨大目錄。請給我你的寶貴意見 –

回答

1

嘗試find

find pics_temp -mindepth 1 -print -delete 

find調用這樣不會嘗試緩存大量的文件名,並不會通過參數列表的最大長度或長的時間它可以採取派生進程數百萬次的限制。 -mindepth 1將導致它刪除pics_temp內的所有內容,但不是目錄本身。

它也不依賴於printf %s\\n *ls或其他這樣的命令,它們都具有在開始生成輸出之前要求知道所有文件的缺點。

上面給出的命令有-print,它將在刪除它們之前打印文件。這對告訴你某些事情實際上正在發生很有用,但會降低操作速度。當您確信它正在工作時,您可能需要刪除-print,以便該命令運行得更快。

+1

這也需要時間來刪除。 – 2015-11-03 11:11:20

+1

不管你怎麼做,都需要很長時間才能刪除那麼多文件。 – chepner