方法:1、用ls指令,該指令可輸出檔案的大小訊息,語法「ls -lSh 指定資料夾| head -1」;2、用find指令,指令可尋找目錄的子目錄,語法「find 指定資料夾-type f -printf ...|sort -n|tail -1」;3、用du指令,命名可查看磁碟空間使用情況,語法為「du -a /home| sort -n -r| head -n 1」。
本教學操作環境:linux7.3系統、Dell G3電腦。
Linux上尋找最大檔案的3 種方法
第一個:ls
最簡單的方法就是藉助ls 指令,因為ls 指令本身輸出是帶有檔案大小資訊的。
例如,我要列出/bin 目錄中的5 個最大文件,可以:
ls -lSh /bin | head -5
第二種:find
##find 本身就是查找指令,可以遞歸查找一個目錄的子目錄,所以用它是自然的。 例如,找/ 目錄下最大的一個檔案:sudo find / -type f -printf “%s\t%p\n” | sort -n | tail -1如果要找前10 個大檔案呢,可以這樣:
$ find $HOME -type f -printf ‘%s %p\n’ | sort -nr | head -10也可以使用-size 選項來查找,以下指令將顯示大於100MiB(注意不是100MB,MiB和MB的區別,emmm)的所有檔案:
find / -size +100M -ls也可以找到一個區間大小的(例如100MiB 和200MiB )之間的檔案:
find / -size +100M -size -200M -ls最後,下面這個指令也比較常用,找某個目錄最大的5個檔案:
find $DIRECTORY -type f -exec ls -s {} \; | sort -n | tail -n 5
第三種:du
du 指令可以查看磁碟空間的使用情況,自然也可以用來查看磁碟上佔用空間較多的檔案和資料夾。 例如,尋找/home 下前20 個最大的檔案:sudo du -a /home | sort -n -r | head -n 20尋找目前資料夾中最大的10 個目錄:
sudo du -a | sort -n -r | head -n 10如果要顯示可讀取的KB、MB、GB訊息,可以加上-h 參數:
du -hs * | sort -rh | head -n 10找到最大目錄/檔案(包括子資料夾):
du -Sh | sort -rh | head -n 10如果只看大小在GB 範圍內的所有文件,可以同時使用du 指令和grep 指令:
du -h -a /dir | grep “[0-9]G\b”推薦學習:
以上是linux怎麼查看哪個檔案最大的詳細內容。更多資訊請關注PHP中文網其他相關文章!