概述
在Windows系統中,我們一般會使用TreeSize工具查找一些大文件或文件夾,有時也會用魔方,非常方便高效,但是在Linux系統中,如何去搜索一些比較大的文件呢?下面對這塊做了一下總結。
01
查找大文件
其實很多時候,你需要了解當前系統下有哪些大文件,比如文件大小超過100M或1G(閥值視具體情況而定)。那么如何把這些大文件搜索出來呢?
1、搜索當前目錄下,超過100M大小的文件
# find . -type f -size +100M

說明:這里能看到超過100M大小的文件的文件名稱,但是對文件的信息(例如,文件大小、文件屬性)一無所知,下面繼續深入下~
2、查看超過100M大小的文件及其相關信息
# find . -type f -size +800M -print0 | xargs -0 ls -l

3、查找超過100M大小文件,並顯示查找出來文件的具體大小:
# find . -type f -size +100M -print0 | xargs -0 du -h

4、查找超過100M大小文件並對查找結果按照文件大小做一個排序
# find . -type f -size +800M -print0 | xargs -0 du -h | sort -nr

有時候排列的順序並不完全是按大小一致,這個是因為du命令的參數h所致,最好是統一使用MB來顯示,這樣就能解決這個問題。
02
查找Linux下的大目錄
這個主要適用於磁盤空間告警了,而又需要快速的了解哪些目錄變得比較大,此時就可以借助du命令來幫我們解決這個問題。
# du -h --max-depth=1

如果想知道flash_recovery_area目錄下面有哪些大文件夾,那么可以將參數max-depth=2 ,對搜索出來的結果進行排序,可以借助於sort命令。
# du -h --max-depth=2 | sort -n # du -hm --max-depth=2 | sort -n

如果只想查出最大的12個文件夾就要借助head命令來顯示了
# du -hm --max-depth=2 | sort -nr | head -12

今天主要針對查找大文件和大目錄的一些方法做了下介紹,這里重點是理解命令的用法,組合使用常常會有意想不到的后果哦!
