今天,在處理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