在當前目錄中查找前10個最大的文件和文件夾,接下來我們詳細介紹一下。
工作中經常會有查看某個目錄下最大的文件的需求。比如在運維工作中,發現某個系統或功能不工作了,經排查發現是服務器空間滿了...那么接下來就需要清理一下臨時文件或者日志文件,或者其他不需要的文件,那么就會想要查看一下,在某個目錄下,到底哪個文件占用空間最大,也就是需要找出最大的文件(或目錄)來。
一般來說,可以使用 du,sort 和 head 命令來完成這個工作。比如,在當前目錄下查找前10個最大的文件夾,可參考如下命令:
du -h | sort -hr | head -n 10
再比如,在當前目錄中查找前10個最大的文件和文件夾,參考如下命令:
du -ah | sort -hr | head -n 10
接下來我們詳細介紹一下。
如何在 linux 中找出最大的文件夾
du 命令用于獲取磁盤使用情況,sort 命令用于根據需求對數據進行排序,head 命令用于顯示輸入數據的前面部分。
這只是在 Linux 命令行中獲取最大文件和目錄的一個命令組合,除此以外,也還有其他一些方法來實現相同的效果。
首先,假如在沒有任何選項的情況下,使用這三個命令會發生什么呢?其輸出對你來說可能沒有什么實際用處。
當開始運行這些命令的時候,除非使用 du 指定,否則所有操作都是針對當前目錄。
不帶選項的使用 sort 命令,其結果往往會出人意料,比如,100 會被認為小于 12,因為它是按照各個數位上的字符排序的,第一位都是1,100的第二位為0,12的第二位為2,而2>0,所以12會排在100前面。
head 命令默認會顯示前 10 個條目,根據你想要分析的目錄,可修改其執行參數。
如下所示為不帶任何選項的運行示例:?
$ du | sort | head
100 ./.local/share/evolution/addressbook
108 ./.mozilla/firefox/jwqwiz97.default-release/datareporting
112 ./.local/share/gvfs-metadata
12 ./.cache/fontconfig
12 ./.cache/gnome-software/screenshots/112x63
12 ./.cache/thumbnails/fail
12 ./.config/dconf
12 ./.config/evolution
12 ./.config/gnome-control-center/backgrounds
12 ./.config/ibus
回到正題,下面我們看看如何使用合適的選項來達到我們的目的(找到最大的文件)。
sort 命令中,-n 選項表示將字段按照數值進行排序,-r 選項表示倒序排序,這通常是我們在使用 sort 命令時所希望的。
另外,在 head 中添加 -5 選項,表示查找前 5 個條目(而不是默認的10個),這根據你的具體需求和期望來決定。
然后,重新運行如下:?
$ du | sort -nr | head -5
1865396 .
1769532 ./Documents
76552 ./.cache
64852 ./.cache/mozilla
64848 ./.cache/mozilla/firefox
這個結果看起來好多了,哪個文件夾最大,一目了然。
du 命令的 -h 選項,可以讓列表中文件大小以人類易讀的方式顯示,如下所示:?
$ du -h | sort -nr | head -5
980K ./.local/share/App-info
976K ./.local/share/app-info/xmls
824K ./.cache/thumbnails
808K ./.cache/thumbnails/large
804K ./.local/share/tracker
另外,sort 命令也有 -h 選項如下所示:
$ du -h | sort -hr | head -5
1.8G .
1.7G ./Documents
75M ./.cache
64M ./.cache/mozilla/firefox/jwqwiz97.default-release
64M ./.cache/mozilla/firefox
找到最大的文件
從上述命令的輸出結果中,我們可以判斷出 Documents 文件夾中包含了一些較大的文件。但是我們切換到 Documents 文件夾中,再次運行上述命令,卻看不到最大的文件,如下所示:?
$ du -h | sort -hr | head -5
1.7G .
這個結果表示,當前目錄下 . 目錄中含有1.7G的文件,但是對于我們找到最大的單個文件,卻是沒有幫助的。
這需要我們在 du 命令中使用另外一個選項,-a,如下所示:?
$ du -ah | sort -hr | head -5
1.7G .
1.1G ./1gig-file.file
699M ./doc.tar
2.9M ./photo-of-woman-wearing-turtleneck-top-2777898.jpg
1.4M ./semi-opened-laptop-computer-turned-on-on-table-2047905.jpg