Linux中國
如何在 Linux 中查找最大的 10 個文件
當系統的磁碟空間不足時,您可能會使用 df、du 或 ncdu 命令進行檢查,但這些命令只會顯示當前目錄的文件,並不會顯示整個系統範圍的文件。
您得花費大量的時間才能用上述命令獲取系統中最大的文件,因為要進入到每個目錄重複運行上述命令。
這種方法比較麻煩,也並不恰當。
如果是這樣,那麼該如何在 Linux 中找到最大的 10 個文件呢?
我在谷歌上搜索了很久,卻沒發現類似的文章,我反而看到了很多關於列出當前目錄中最大的 10 個文件的文章。所以,我希望這篇文章對那些有類似需求的人有所幫助。
本教程中,我們將教您如何使用以下四種方法在 Linux 系統中查找最大的前 10 個文件。
方法 1
在 Linux 中沒有特定的命令可以直接執行此操作,因此我們需要將多個命令結合使用。
# find / -type f -print0 | xargs -0 du -h | sort -rh | head -n 10
1.4G /swapfile
1.1G /home/magi/ubuntu-17.04-desktop-amd64.iso
564M /home/magi/.gdfuse/magi/cache/0B5nso_FPaZFqTFU0XzkzUlJUZzA
378M /home/magi/.gdfuse/magi/cache/0B5nso_FPaZFqeldzUmhPeC03Zm8
377M /home/magi/.gdfuse/magi/cache/0B5nso_FPaZFqRGd4V0VrOXM4YVU
100M /usr/lib/x86_64-linux-gnu/libOxideQtCore.so.0
93M /usr/lib/firefox/libxul.so
84M /var/lib/snapd/snaps/core_3604.snap
84M /var/lib/snapd/snaps/core_3440.snap
84M /var/lib/snapd/snaps/core_3247.snap
詳解:
find:在目錄結構中搜索文件的命令/:在整個系統(從根目錄開始)中查找-type:指定文件類型f:普通文件
-print0:在標準輸出顯示完整的文件名,其後跟一個空字元(null)|:控制操作符,將一條命令的輸出傳遞給下一個命令以供進一步處理xargs:將標準輸入轉換成命令行參數的命令-0:以空字元(null)而不是空白字元(LCTT 譯者註:即空格、製表符和換行)來分割記錄du -h:以可讀格式計算磁碟空間使用情況的命令sort:對文本文件進行排序的命令-r:反轉結果-h:用可讀格式列印輸出head:輸出文件開頭部分的命令n -10:列印前 10 個文件
方法 2
這是查找 Linux 系統中最大的前 10 個文件的另一種方法。我們依然使用多個命令共同完成這個任務。
# find / -type f -exec du -Sh {} + | sort -rh | head -n 10
1.4G /swapfile
1.1G /home/magi/ubuntu-17.04-desktop-amd64.iso
564M /home/magi/.gdfuse/magi/cache/0B5nso_FPaZFqTFU0XzkzUlJUZzA
378M /home/magi/.gdfuse/magi/cache/0B5nso_FPaZFqeldzUmhPeC03Zm8
377M /home/magi/.gdfuse/magi/cache/0B5nso_FPaZFqRGd4V0VrOXM4YVU
100M /usr/lib/x86_64-linux-gnu/libOxideQtCore.so.0
93M /usr/lib/firefox/libxul.so
84M /var/lib/snapd/snaps/core_3604.snap
84M /var/lib/snapd/snaps/core_3440.snap
84M /var/lib/snapd/snaps/core_3247.snap
詳解:
find:在目錄結構中搜索文件的命令/:在整個系統(從根目錄開始)中查找-type:指定文件類型f:普通文件
-exec:在所選文件上運行指定命令du:計算文件佔用的磁碟空間的命令-S:不包含子目錄的大小-h:以可讀格式列印{}:遞歸地查找目錄,統計每個文件佔用的磁碟空間|:控制操作符,將一條命令的輸出傳遞給下一個命令以供進一步處理sort:對文本文件進行按行排序的命令-r:反轉結果-h:用可讀格式列印輸出head:輸出文件開頭部分的命令n -10:列印前 10 個文件
方法 3
這裡介紹另一種在 Linux 系統中搜索最大的前 10 個文件的方法。
# find / -type f -print0 | xargs -0 du | sort -n | tail -10 | cut -f2 | xargs -I{} du -sh {}
84M /var/lib/snapd/snaps/core_3247.snap
84M /var/lib/snapd/snaps/core_3440.snap
84M /var/lib/snapd/snaps/core_3604.snap
93M /usr/lib/firefox/libxul.so
100M /usr/lib/x86_64-linux-gnu/libOxideQtCore.so.0
377M /home/magi/.gdfuse/magi/cache/0B5nso_FPaZFqRGd4V0VrOXM4YVU
378M /home/magi/.gdfuse/magi/cache/0B5nso_FPaZFqeldzUmhPeC03Zm8
564M /home/magi/.gdfuse/magi/cache/0B5nso_FPaZFqTFU0XzkzUlJUZzA
1.1G /home/magi/ubuntu-17.04-desktop-amd64.iso
1.4G /swapfile
詳解:
find:在目錄結構中搜索文件的命令/:在整個系統(從根目錄開始)中查找-type:指定文件類型f:普通文件
-print0:輸出完整的文件名,其後跟一個空字元(null)|:控制操作符,將一條命令的輸出傳遞給下一個命令以供進一步處理xargs:將標準輸入轉換成命令行參數的命令-0:以空字元(null)而不是空白字元來分割記錄du:計算文件佔用的磁碟空間的命令sort:對文本文件進行按行排序的命令-n:根據數字大小進行比較tail -10:輸出文件結尾部分的命令(最後 10 個文件)cut:從每行刪除特定部分的命令-f2:只選擇特定欄位值-I{}:將初始參數中出現的每個替換字元串都替換為從標準輸入讀取的名稱-s:僅顯示每個參數的總和-h:用可讀格式列印輸出{}:遞歸地查找目錄,統計每個文件佔用的磁碟空間
方法 4
還有一種在 Linux 系統中查找最大的前 10 個文件的方法。
# find / -type f -ls | sort -k 7 -r -n | head -10 | column -t | awk '{print $7,$11}'
1494845440 /swapfile
1085984380 /home/magi/ubuntu-17.04-desktop-amd64.iso
591003648 /home/magi/.gdfuse/magi/cache/0B5nso_FPaZFqTFU0XzkzUlJUZzA
395770383 /home/magi/.gdfuse/magi/cache/0B5nso_FPaZFqeldzUmhPeC03Zm8
394891761 /home/magi/.gdfuse/magi/cache/0B5nso_FPaZFqRGd4V0VrOXM4YVU
103999072 /usr/lib/x86_64-linux-gnu/libOxideQtCore.so.0
97356256 /usr/lib/firefox/libxul.so
87896064 /var/lib/snapd/snaps/core_3604.snap
87793664 /var/lib/snapd/snaps/core_3440.snap
87089152 /var/lib/snapd/snaps/core_3247.snap
詳解:
find:在目錄結構中搜索文件的命令/:在整個系統(從根目錄開始)中查找-type:指定文件類型f:普通文件
-ls:在標準輸出中以ls -dils的格式列出當前文件|:控制操作符,將一條命令的輸出傳遞給下一個命令以供進一步處理sort:對文本文件進行按行排序的命令-k:按指定列進行排序-r:反轉結果-n:根據數字大小進行比較head:輸出文件開頭部分的命令-10:列印前 10 個文件column:將其輸入格式化為多列的命令-t:確定輸入包含的列數並創建一個表awk:模式掃描和處理語言'{print $7,$11}':只列印指定的列
via: https://www.2daygeek.com/how-to-find-search-check-print-top-10-largest-biggest-files-in-linux/
作者:Magesh Maruthamuthu 譯者:jessie-pang 校對:wxy
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive
對這篇文章感覺如何?
太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
More in:Linux中國
捐贈 Let's Encrypt,共建安全的互聯網
隨著 Mozilla、蘋果和谷歌對沃通和 StartCom 這兩家 CA 公司處罰落定,很多使用這兩家 CA 所簽發證書的網站紛紛尋求新的證書籤發商。有一個非盈利組織可以為大家提供了免費、可靠和安全的 SSL 證書服務,這就是 Let's Encrypt 項目。現在,它需要您的幫助
Let's Encrypt 正式發布,已經保護 380 萬個域名
由於 Let's Encrypt 讓安裝 X.509 TLS 證書變得非常簡單,所以這個數量增長迅猛。
關於Linux防火牆iptables的面試問答
Nishita Agarwal是Tecmint的用戶,她將分享關於她剛剛經歷的一家公司(印度的一家私人公司Pune)的面試經驗。在面試中她被問及許多不同的問題,但她是iptables方面的專家,因此她想分享這些關於iptables的問題和相應的答案給那些以後可能會進行相關面試的人。 所有的問題和相應的答案都基於Nishita Agarwal的記憶並經過了重寫。 嗨,朋友!我叫Nishita Agarwal。我已經取得了理學學士學位,我的專業集中在UNIX和它的變種(BSD,Linux)。它們一直深深的吸引著我。我在存儲方面有1年多的經驗。我正在尋求職業上的變化,並將供職於印度的P
Lets Encrypt 已被所有主流瀏覽器所信任
旨在讓每個網站都能使用 HTTPS 加密的非贏利組織 Lets Encrypt 已經得了 IdenTrust的交叉簽名,這意味著其證書現在已經可以被所有主流的瀏覽器所信任。從這個裡程碑事件開始,訪問者訪問使用了Lets Encrypt 證書的網站不再需要特別配置就可以得到 HTTPS 安全保護了。 Lets Encrypt 的兩個中級證書 ...

















