argument list too long 錯誤的處理

今天,在處理session文件過多,想要刪除session文件,html

執行刪除session文件的命令:ubuntu

sudo rm -rf ci_session* bash

結果出現:服務器

/bin/rm: argument list too long

 也就是使用正則匹配,文件的列表過多,致使的問題,解決方案:session

   經過google的 stackoverflow 平臺,找到問題的解決方案:google

find /tmp/ -name "ci_session*" -print0 |xargs -0 rm 

命令的解釋:spa

  Linux命令:find code

  find  目錄名稱  -name "文件名"   htm

  會打印出在目錄中符合-name 文件名的文件列表blog

 

擴展:

  Linux刪除文件有不少種方法:

   對於上述的方法,通常都是能夠可以實現數據的刪除的,最近在清楚服務器垃圾文件的時候,碰見了一個問題;

  公司的demo服務器運行了將近兩年;在目錄/var/spool/mqueue-client 目錄下有將近60多萬個文件夾

  是因爲系統在運行cron等一些任務的時候產生的文件夾

  最終採用上述方式也解決不了。

  在解決問題的時候,我在想:

  若是我使用mv /var/spool/mqueue-client  /var/spool/tmp  執行此命令的時候,

  ls -al /var/spool/tmp 

  發如今mv的過程中,/var/spool/tmp 中的文件是慢慢的增長的,

  那麼在/var/spool/tmp 尚未徹底和/var/spool/mqueue-client 數據一致的時候,我直接執行:rm -rf /var/spool/tmp 會有什麼效果呢?

  如此執行,最後的結果:OK

  順利清除了這個比較大的文件夾;

  在解決這個問題的時候,中間出現了好多的插曲,好比對於/var/spool/mqueue-client文件夾的權限等;

  s:具備x權限

  S:不具備x權限

若是上述問題出現: 

rm: cannot remove 'you-get/tmp': Directory not empty

  這種相似的提示,請參考文章:http://www.javashuo.com/article/p-mnqbwdve-kt.html

相關文章
相關標籤/搜索