Linux下正確快速刪除海量文件的方法分享
前言
注意本文說的“海量”并不是指體積大,而是指數(shù)量,比如一個目錄下有數(shù)百萬個小文件。
最近在優(yōu)化服務(wù)器時發(fā)現(xiàn)postfix下的maildrop目錄和clientmqueue目錄下發(fā)現(xiàn)有大量的文件,進(jìn)入這些目錄里使用ls
命令是愚蠢的做法,而直接執(zhí)行rm *
, 沒有任何反應(yīng),文件數(shù)量也沒有減少,也就是說,在海量文件目錄里直接使用rm
命令進(jìn)行刪除是無效的。
那么正確的方法是什么呢?有兩種方法可選:
第一種:
find /path/to/directory -type f -exec rm {} \;
第二種:
ls -1 /path/to/directory | xargs -I{} rm {}
上面這兩種方法可以成功的刪除海量文件,速度也很快。但還有一種更好的方法,比如要刪除上面提到的clientmqueue目錄,里面全部是一個一個的郵件,用下面的方法:
service sendmail stop cd /var/spool mv clientmqueue clientmqueue-todelete mkdir clientmqueue chown --reference=clientmqueue-todelete clientmqueue chmod --reference=clientmqueue-todelete clientmqueue service sendmail start rm -rf clientmqueue-todelete
上面的方法是將目錄重命名,然后使用了 --reference
引用參數(shù)來重建目錄,然后刪除重命名的目錄。直接刪除目錄的方法速度是十分的快。也可以留著備份不刪。更安全。
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。
相關(guān)文章
Linux下安裝MariaDB數(shù)據(jù)庫問題及解決方法(二進(jìn)制版本的安裝)
MariaDB數(shù)據(jù)庫 分為源代碼版本和二進(jìn)制版本,源代碼版本需要cmake編譯,這里是二進(jìn)制版本的安裝。下面通過本文給大家介紹Linux下安裝MariaDB數(shù)據(jù)庫問題及解決方法(二進(jìn)制版本的安裝),感興趣的朋友參考下吧2016-11-11centos7修改系統(tǒng)語言為簡體中文的實(shí)現(xiàn)
這篇文章主要介紹了centos7修改系統(tǒng)語言為簡體中文的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-04-04Linux中查看指定文件夾內(nèi)各個子文件夾內(nèi)的文件數(shù)量
今天小編就為大家分享一篇關(guān)于Linux中查看指定文件夾內(nèi)各個子文件夾內(nèi)的文件數(shù)量,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2019-01-01CentOS服務(wù)器初始化設(shè)置詳細(xì)說明
這篇文章主要介紹了CentOS服務(wù)器初始化設(shè)置詳細(xì)說明,需要的朋友可以參考下2018-01-01CentOS下使用Squid架設(shè)CDN服務(wù)器的方法
這篇文章主要介紹了CentOS下使用Squid架設(shè)CDN服務(wù)器的方法,需要的朋友可以參考下2014-07-07