調查磁碟使用目錄

有時可能需要找出消耗多少磁碟空間的目錄,尤其是當你使用 df -h 並意識到可用磁碟空間不足時。

杜:

du 命令以遞迴方式彙總目錄的 FILE 集的磁碟使用情況。

它經常與 -sh 選項一起使用:

-s, --summarize
              display only a total for each argument
-h, --human-readable
              print sizes in human readable format (e.g., 1K 234M 2G)

為了總結當前目錄中檔案的磁碟使用情況,我們使用:

du -sh *

輸出示例:

572K    Documents
208M    Downloads
4,0K    Music
724K    Pictures
4,0K    Public
4,0K    Templates
4,0K    Videos

我們還可以使用以下內容包含隱藏檔案:

du -sh .[!.]* *

輸出示例:

6,3M    .atom
4,0K    .bash_history
4,0K    .bash_logout
8,0K    .bashrc
350M    .cache
195M    .config
12K    .dbus
4,0K    .dmrc
44K    .gconf
60K    .gem
520K    .gimp-2.8
28K    .gnome
4,0K    .ICEauthority
8,3M    .local
8,0K    .nano
404K    .nv
36K    .pki
4,0K    .profile
8,0K    .ssh
0    .sudo_as_admin_successful
4,0K    .Xauthority
4,0K    .xsession-errors
4,0K    .xsession-errors.old
572K    Documents
208M    Downloads
4,0K    Music
724K    Pictures
4,0K    Public
4,0K    Templates
4,0K    Videos

第三,你可以通過新增 -c,選項將總數新增到輸出中:

du -sch .[!.]* *

結果:

.
.
.
4,0K    Templates
4,0K    Videos
769M    total

最重要的是在根目錄上正確使用 du 命令是一種救生行動,可以找出哪些應用程式/服務或使用者正在大量消耗磁碟空間。例如,如果 Web 和郵件伺服器的磁碟空間可用性非常低,原因可能是對你的郵件服務進行垃圾郵件攻擊,你只需使用 du 命令即可對其進行診斷。

調查根目錄以查詢磁碟使用情況:

sudo du -sch /.[!.]* /*

輸出示例:

16K    /.VolumeIcon.icns
24K    /.VolumeIcon.png
13M    /bin
57M    /boot
4,0K    /cdrom
620K    /dev
13M    /etc
779M    /home
0    /initrd.img
406M    /lib
3,9M    /lib32
4,0K    /lib64
16K    /lost+found
4,0K    /media
4,0K    /mnt
367M    /opt
du: cannot access '/proc/18221/task/18221/fd/4': No such file or directory
du: cannot access '/proc/18221/task/18221/fdinfo/4': No such file or directory
du: cannot access '/proc/18221/fd/4': No such file or directory
du: cannot access '/proc/18221/fdinfo/4': No such file or directory
0    /proc
20K    /root
du: cannot access '/run/user/1000/gvfs': Permission denied
9,4M    /run
13M    /sbin
4,0K    /srv
0    /sys
72K    /tmp
3,5G    /usr
639M    /var
0    /vmlinuz
5,8G    total

最後,當你為目錄新增閾值大小值以忽略小的值時,會形成最佳方法。此命令僅顯示大小超過 1GB 的資料夾,該資料夾位於根目錄下,直到檔案系統中整個目錄樹的最遠分支:

sudo du --threshold=1G -ch /.[!.]* /*

輸出示例:

1,4G    /usr/lib
1,8G    /usr/share
3,5G    /usr
5,8G    total