批次刪除檔案

yobyin發表於2013-02-18
今天中午在處理實驗機Freebsd的時候,想刪除一個cache目錄,誰知道輸入 rm * 的命令後,大概幾秒後螢幕就跳出 /bin/rm: argument list too long 條件反射動作,上百度和google查詢,找到解決方法和原因,原因是一個資料夾下檔案太多,使用rm刪除就會出現/bin

今天中午在處理實驗機Freebsd的時候,想刪除一個cache目錄,誰知道輸入
rm *
的命令後,大概幾秒後螢幕就跳出
/bin/rm: argument list too long

條件反射動作,上百度和google查詢,找到解決方法和原因,原因是一個資料夾下檔案太多,使用rm刪除就會出現/bin/rm: Argument list too long錯誤.

解決方法:**.com/blog/431354
按網址上面寫的輸入
ls | xargs -n 10 rm -fr ls
就解決了,這句解釋為:輸出所有的檔名(用空格分割) xargs就是將ls的輸出,每10個為一組(以空格為分隔符),作為rm -rf的引數也就是說將所有檔名10個為一組,由rm -rf刪除,這樣就不會超過命令列的長度了.

另外找到用指令碼的方法:
for loop in `ls 目錄路徑`

do

rm -f $loop

done

注意:$loop是刪除的檔名,確保路徑是否正確。

但這個還沒有實驗過。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8013558/viewspace-754211/,如需轉載,請註明出處,否則將追究法律責任。

相關文章