今天,在機(jī)器上執(zhí)行命令的時(shí)候,發(fā)現(xiàn)tab鍵無法補(bǔ)全了,原因竟然是磁盤空間滿了,使用df命令看了一下,確實(shí)如此,每個(gè)分區(qū)的使用率都得到100%了,因此想找到系統(tǒng)中的大目錄和大文件,刪除一部分。
主要涉及到兩個(gè)命令 du和find
du命令(查找系統(tǒng)中的大目錄):
-h已易讀的格式顯示指定目錄或文件的大小
-s選項(xiàng)指定對(duì)于目錄不詳細(xì)顯示每個(gè)子目錄或文件的大小
-m或–megabytes 以1MB為單位
–max-depth=1:其中,數(shù)字“1”是指查詢結(jié)果中最多顯示的目錄層數(shù),這里指最多顯示一層目錄。
首先使用df命令,查看各掛載點(diǎn)磁盤空間的使用情況,然后從使用率接近100%的目錄下,查看其各個(gè)子目錄的大小情況
du -sm * 2> /dev/null | sort -nr | head -5
可以使用sort對(duì)du輸出的結(jié)果進(jìn)行一個(gè)排序(如果du使用h參數(shù),可能得不到正確的排序結(jié)果)
以上方法只是對(duì)目錄大小進(jìn)行判定,所以當(dāng)確定某目錄過大時(shí),最好是cd到該目錄,查看下有無大文件,然后再確定是否進(jìn)入下一層目錄。
find命令(查找系統(tǒng)中的大文件)
獲取某個(gè)目錄下大于800M的所有文件
find . -type f -size +800M
如上命令所示,我們僅僅能看到超過800M大小的文件的文件名稱,但是對(duì)文件的信息(例如,文件大小、文件屬性)一無所知,那么能否更詳細(xì)顯示一些文件屬性或信息呢,當(dāng)然可以,使用如下命令:
find . -type f -size +800M -print0 | xargs -0 ls -l
當(dāng)找到大文件后,若因某些原因,不想對(duì)文件進(jìn)行刪除,可以用echo或cat或clear命令清除文件內(nèi)容
echo > a.log
clear > a.log
以上這篇linux 查找大目錄和大文件的方法(推薦)就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
您可能感興趣的文章:- 在Linux中如何查找最大的10個(gè)文件方法匯總
- Linux查找包含指定文字的文件(linux查找指定文件)
- linux查找大文件指定內(nèi)容的實(shí)現(xiàn)方法