統計 Linux 文件夾及其子目錄的總大小,最核心和高效的工具是 du (disk usage) 命令。下面的表格彙總了最常用的命令和方法,方便你快速選擇。
|
命令/工具
|
核心用法
|
主要特點與適用場景
|
|
|
|
直接高效:專為統計磁盤使用量設計,結果是文件夾在磁盤上佔用的總空間。 |
|
|
|
可視化分析:交互式界面,可導航並排序,直觀發現大文件/夾。 |
|
結合 |
`du -h /path/to/dir
|
sort -hr`
|
🐧 使用 du 命令(推薦)
du(disk usage)是完成這個任務的專用工具,幾乎所有 Linux 系統都預裝了它。
- 統計文件夾總大小:使用
-s(或--summarize)選項來顯示指定目錄的總用量,避免輸出所有子目錄的細節。結合-h(或--human-readable)選項,讓結果以 K, M, G 等易讀的單位顯示。
du -sh /path/to/your/directory
- 查看目錄內各子項的大小:如果你還想知道目標目錄下每個文件和子目錄分別佔用了多少空間,可以使用以下命令。添加
--max-depth=1選項來控制遍歷的深度,例如只顯示目標目錄下一級子目錄和文件的大小。
# 查看目錄下一級子項的大小
du -h --max-depth=1 /path/to/your/directory
🔍 使用 ncdu 進行可視化分析
如果你需要一個更直觀的、可交互的工具來探索磁盤使用情況,ncdu 是一個非常好的選擇。
- 安裝與使用:通常系統不會預裝
ncdu,你需要先安裝它。例如,在 Ubuntu/Debian 上:sudo apt install ncdu。安裝後,只需運行:
ncdu /path/to/your/directory
- 交互界面:它會掃描指定目錄,然後提供一個界面。你可以使用鍵盤方向鍵在不同條目間導航,按 Enter 鍵進入子目錄,按 d 鍵刪除文件(需謹慎),按 q 鍵退出。
⚙️ 實用技巧與注意事項
掌握基礎命令後,下面這些技巧能讓你的磁盤空間管理更加得心應手。
- 排序找出最大項:結合
sort命令,可以輕鬆找出某個目錄下最大的子目錄或文件。例如,以下命令會將指定目錄下所有項按大小逆序(從大到小)排列,並顯示前 10 個:
du -h --max-depth=1 /path/to/directory | sort -hr | head -n 10
注意:為確保 sort 命令正確識別數字單位,建議在使用管道排序時,du 命令優先使用 -m(以MB為單位)或 -k(以KB為單位)而非 -h,因為 sort -n 是依據純數字排序。
- 排除特定文件或目錄:使用
--exclude選項可以在統計時忽略符合特定模式的文件或目錄。例如,排除所有.log文件:
du -sh --exclude="*.log" /path/to/directory
- 權限問題:如果你要統計的目錄(如
/var或/usr)當前用户沒有讀權限,du命令會報錯。這時可能需要使用sudo來提升權限:
sudo du -sh /path/to/protected/directory
💎 總結
|
需求場景
|
推薦命令
|
|
快速查看文件夾總大小 |
|
|
分析文件夾內各子項大小 |
|
|
找出佔用空間最大的項 |
`du -h --max-depth=1 /path/to/directory
|
|
直觀瀏覽和探索磁盤使用情況 |
|
希望這些命令和技巧能幫助你有效地管理磁盤空間!如果你在操作中遇到任何具體問題,比如某個命令的輸出不太明白,隨時可以再問我。