?????????在 Linux 系統中,準確地掌握目錄和文件的大小對于磁盤空間管理至關重要。?本文將詳細介紹如何使用 du
(disk usage)命令逐層查看目錄和文件的大小,并結合 sort
命令對結果進行排序,以便有效地識別和管理占用空間較大的文件和目錄。?
一、du
命令概述
du
命令用于估算文件和目錄所占用的磁盤空間。?通過不同的選項,用戶可以靈活地查看特定目錄或文件的大小信息。
常用選項包括:
-
-h
:以人類可讀的格式顯示大小(例如,K、M、G)。? -
--max-depth=N
:限制遞歸深度,僅顯示指定層級的目錄大小。? -
-a
:顯示目錄下的所有文件和子目錄的大小。? -
-s
:僅顯示指定目錄的總大小,而不列出子目錄。?
二、逐層查看目錄大小
為了逐層深入地查看目錄大小,可以從根目錄開始,逐步進入占用空間較大的子目錄。以下是具體步驟:?
1. 查看根目錄下各子目錄的大小
首先,查看根目錄(/
)下一級子目錄的大小,并按大小從大到小排序:
sudo du -h --max-depth=1 / | sort -hr
示例輸出:
15G /var
10G /usr
5G /home
...
根據輸出結果,選擇占用空間最大的目錄(例如 /var
)進行下一步分析。?
2. 查看選定目錄下的子目錄大小
進入上一步選擇的目錄,繼續查看其下一級子目錄的大小。例如,查看 /var
目錄:
sudo du -h --max-depth=1 /var | sort -hr
示例輸出:
12G /var/log
2G /var/lib
500M /var/cache
...
繼續選擇占用空間最大的子目錄(例如 /var/log
)進行深入分析。?
3. 查找特定目錄下的大文件
在確定了占用空間較大的目錄后,可以進一步查找該目錄下的大文件。例如,查找 /var/log
目錄下的前 10 個大文件:
sudo find /var/log -type f -exec du -h {} + | sort -hr | head -n 10
通過上述步驟,您可以逐層深入,準確定位占用磁盤空間較大的目錄和文件,便于進一步清理或管理。
三、使用 ncdu
進行交互式分析(可選)
除了使用命令行工具外,您還可以使用 ncdu
(NCurses Disk Usage)進行交互式的磁盤使用分析。ncdu
提供了直觀的界面,方便您瀏覽和管理文件系統中的空間使用情況。?
1. 安裝 ncdu
在 Debian/Ubuntu 系統上:?
sudo apt-get install ncdu
在 CentOS/RHEL 系統上:?
sudo yum install ncdu
2. 使用 ncdu
安裝完成后,運行以下命令啟動 ncdu
:?
sudo ncdu /
ncdu
將掃描指定目錄(此處為根目錄 /
),并以交互式界面顯示各子目錄和文件的大小。您可以使用箭頭鍵導航,按 Enter
鍵進入子目錄,按 d
鍵刪除選中的文件或目錄(請謹慎操作),按 q
鍵退出。