如何在linux下找出佔用用空間最多的檔案或目錄

在Linux下找出佔用空間最多的檔案或目錄可以使用du(disk usage)指令。du指令可以顯示每個目錄和檔案所使用的磁碟空間。

以下是一個基本的du指令範例:

du -ah /path/to/directory

這個指令會列出/path/to/directory及其所有子目錄和檔案的磁碟使用量。

使用-a--all選項會顯示所有檔案的總使用量,而-h--human-readable選項則會以人類可讀的格式(如1K, 234M, 2G等)顯示使用量。

如果你想要找出佔用空間最多的前幾個檔案或目錄,可以使用sorthead指令來對使用量進行排序:

du -ah /path/to/directory | sort -h | head -n 10

這個指令會列出/path/to/directory下前10個佔用空間最多的檔案或目錄。sort -h會對使用量進行人類可讀格式的大小的排序,head -n 10會只顯示前10個結果。

如果你想要找出整個檔案系統中佔用空間最多的檔案或目錄,可以使用df(disk free)指令來查看檔案系統的總使用量和可用空間,然後使用find指令來找出佔用空間最多的檔案或目錄:

df -h | sort -h

這個指令會列出所有檔案系統的使用量和可用空間,並按照總使用量進行排序。然後你可以使用find指令來找出特定的檔案或目錄:

df -h | sort -h | grep ^/path/to/directory | awk '{print $6}' | xargs -I{} find {} -type f -print0 | xargs -0 du -sh

這個指令會找出/path/to/directory下所有檔案的使用量,並列出佔用空間最多的前10個檔案。grep ^/path/to/directory用來篩選出/path/to/directory的結果,awk '{print $6}'用來提取檔案的路徑,xargs -I{} find {} -type f -print0用來找出所有的檔案,xargs -0 du -sh用來對這些檔案的使用量進行排序。