调查磁盘使用目录

有时可能需要找出消耗多少磁盘空间的目录,尤其是当你使用 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