如何找到Linux上的最大文件?
譯文【51CTO.com快譯】我們大多數人在系統上安裝了數十個應用程序。久而久之,許多文件變得越來越大,磁盤空間將開始縮小。因此,了解哪些文件或目錄在占用系統的磁盤空間很重要。好消息是,你可以在Ubuntu和類似的Linux發行版的特定目錄中輕松找到最大文件。本文將介紹找到系統中最大文件的幾種不同方法:
命令1:find
find命令將開始在你指定的目錄中搜索,進而搜索所有可訪問的子目錄??梢灾付ǘ鄠€起始目錄進行搜索。下面的命令將幫助我們查找大文件。
先打開你的終端并輸入命令:
- sudo-i
接下來,執行下列命令以查看最大文件,同時跳過計算機上的目錄,鍵入這個命令:
- sudo find / -type f -printf “%s\t%p\n” | sort -n | tail -1
- $ find $HOME -type f -printf ‘%s %p\n’ | sort -nr | head -10
可以使用其他的選項來查找大文件:-size選項。比如說,下一個命令將顯示大于100MiB(不是100MB)的所有文件:
- find / -size +100M -ls
然而,如果你想添加最小和最大尺寸的范圍,可以按照以下命令進行操作,該命令會查找100MiB和200MiB之間的文件:
- find / -size +100M -size -200M -ls
這似乎是find的完美應用。
最后,下列命令在這里也可能很適用:
- find $DIRECTORY -type f -exec ls -s {} \; | sort -n | tail -n 5
這將查找文件夾$ DIRECTORY中執行ls –s操作的所有文件。然后,結果通過sort命令加以數值排序,最后顯示最后五個條目。
總之,上述命令隨后將顯示$ DIRETORY文件夾中最大的5個文件。
關于find命令補充一點,你可以查找最近的文件:少于或等于n天(-ctime -n)的文件或屬于特定用戶(-user mrlinus)的文件。
命令2:du
代表磁盤使用(disk usage)的du命令估計文件的空間使用。實際上,它可以用來獲取占用硬盤上過多空間的文件和文件夾。
先輸入下列命令以切換到root:
- sudo-i
然后執行以下命令:
- sudo du -a /home | sort -n -r | head -n 20
du計算主目錄中的文件大小,然后進行“sort”操作,最后,由于“head”參數只考慮前20個最大的文件,因此輸出將受到限制。
為了顯示當前工作文件夾中最龐大的目錄,只需運行:
- sudo du -a | sort -n -r | head -n 10
對上述命令作一番解釋:
du命令:計算文件空間使用。
a:顯示所有文件和目錄。
sort命令:對文本文件的輸入流進行排序(從管道的入口開始)。
-n:–numeric sort:字符串數值比較。
-r:–reverse:對比較結果進行反向處理。
head:讀取所提供的列表,并準備用于標準輸出。
-n:告訴返回多少行。(在我們的例子中,我們將顯示限制在前10行)。
如果你想使用KB和GB,只需執行下列命令:
- du -hs * | sort -rh | head -n 10
上述命令將顯示占用過多磁盤空間的最大目錄。如果你認為它們無用想釋放一些空間,可以刪除它們。
現在為了顯示最大目錄/文件(包括子文件夾),請運行:
- du -Sh | sort -rh | head -n 10
下面對命令進行解釋:
du:du命令
-h:大小將以人類可讀的格式顯示(比如3MB)。
-S:不包括子目錄大小。
Sort:對文本文件的輸入流進行排序(從管道的入口開始)。
-r:–reverse:對比較結果進行相反處理。
-h:啟用人類可讀格式的數字比較(比如2K、1G)。
head:讀取所提供的列表,并準備用于標準輸出。
-n:告訴返回多少行。(在我們的例子中,我們將顯示限制在前10行)。
如果你想要排除類型“permission denied”的錯誤消息,只需添加teh參數:2> / dev / null:
- du -a /* 2>/dev/null | sort -nr | head -n 50
比如為了查找大小在GB范圍內的所有文件,可以同時使用du命令和grep命令:
- du -h -a /dir | grep “[0-9]G\b”
命令3:ls
ls命令用于顯示有關目錄和文件的信息。
因此,要列出/ bin目錄中的5個最大文件,執行以下命令:
- ls -lSh /bin | head -5
使用Baobab(Disk Usage Analyzer)
Disk Usage Analyzer(以前稱為Baobab)是一款用于分析磁盤使用的GNOME圖形實用程序。就像資源管理器一樣,Baobab提供了易于閱讀的菜單驅動的圖形界面,顯示了磁盤驅動器的內容。用戶可以掃描文件系統中選擇的特定部分,無論是單個文件夾、整個文件系統,甚至是遠程目錄。
為了安裝Baobab,執行以下命令:
- sudo apt install baobab
然后只需調用baobab啟動它。你會看到以下窗口:
現在,你可以選擇要分析的文件系統。你可以在下面看到文件夾層次結構以及有關大小、修改日期等方面的信息。
在快照的右側,你將看到一種反映樹狀信息的圖表,可以用它來查看文件夾的大小及其內容。
原文標題:How to find the largest files on Linux ?,作者:amin nahdy
【51CTO譯稿,合作站點轉載請注明原文譯者和出處為51CTO.com】