当前位置:首页>Linux>Linux杂记 -- 检查磁盘空间

Linux杂记 -- 检查磁盘空间

  • 2026-09-23 12:20:21
Linux杂记 -- 检查磁盘空间

5.1 调查目录磁盘使用情况

有时你可能需要找出哪个目录消耗了多少磁盘空间,特别是当你使用 df -h 后意识到可用磁盘空间不足时。
du:du 命令汇总文件集的磁盘使用情况,对目录递归处理。
它通常与 -sh 选项一起使用:
  • -s, --summarize - 只显示每个参数的总计
  • -h, --human-readable - 以人类可读的格式打印大小(例如 1K 234M 2G)
要汇总当前目录中文件的磁盘使用情况,我们使用:
du -sh *
示例输出:
8.0K    Desktop4.0K    Documents4.0K    Downloads4.0K    Music4.0K    Pictures4.0K    Public4.0K    Templates4.0K    Videos
我们也可以使用以下命令包含隐藏文件:
du -sh .[!.]*
示例输出:
4.0K    .bash_history4.0K    .bash_logout4.0K    .bash_profile4.0K    .bashrc62M     .cache572K    .config4.0K    .gtkrc-2.0127M    .local144K    .var4.0K    .vboxclient-hostversion-tty1-control.pid4.0K    .vboxclient-vmsvga-session-tty1-control.pid4.0K    .vboxclient-vmsvga-session-tty1-service.pid4.0K    .vboxclient-wayland-tty1-control.pid4.0K    .vboxclient-wayland-tty1-service.pid
第三,你可以通过添加 -c 选项在输出中添加总计:
du -sch .[!.]*
结果:
4.0K    .bash_history4.0K    .bash_logout4.0K    .bash_profile4.0K    .bashrc62M     .cache572K    .config4.0K    .gtkrc-2.0127M    .local144K    .var4.0K    .vboxclient-hostversion-tty1-control.pid4.0K    .vboxclient-vmsvga-session-tty1-control.pid4.0K    .vboxclient-vmsvga-session-tty1-service.pid4.0K    .vboxclient-wayland-tty1-control.pid4.0K    .vboxclient-wayland-tty1-service.pid189M    total
最重要的是,在根目录上正确使用 du 命令是一个救命的操作,可以找出哪个应用程序/服务或用户正在疯狂消耗你的磁盘空间。例如,在 Web 和邮件服务器的磁盘空间可用性极低的情况下,原因可能是对你的邮件服务的垃圾邮件攻击,你可以仅通过使用 du 来诊断它。
调查根目录的磁盘使用情况:
sudo du -sch /.[!.]* /*
示例输出:
0       /bin25M     /boot0       /dev8.9M    /etc189M    /home0       /lib0       /lib6416K     /lost+found4.0K    /mnt4.0K    /opt0       /proc1.4M    /root1.2M    /run0       /sbin12K     /srv0       /sys4.0K    /tmp8.8G    /usr3.1G    /var12G     total
最后,当你为目录添加阈值大小值以忽略小目录时,最佳方法就形成了。此命令将只显示大小超过 1GB 的文件夹,这些文件夹位于根目录下,一直到文件系统整个目录树的最远分支:
sudo du --threshold=1G -ch /.[!.]* /*
示例输出:
3.8G    /usr/lib3.7G    /usr/share8.8G    /usr2.9G    /var/cache/pacman/pkg2.9G    /var/cache/pacman2.9G    /var/cache3.1G    /var12G     total

5.2 检查磁盘空间

想要检查服务器/计算机上各种分区/驱动器的状态以查看它们有多满是很常见的。以下命令是你需要运行的:
df -h
这将产生类似以下的输出:
[archuser@archlinux ~]$ df-hFilesystem      Size  Used Avail Use% Mounted on/dev/sda2        32G   12G   18G  40% //dev/sda1      1022M   25M  998M   3% /boot/dev/sda3        31G  209M   29G   1% /home
在这个基本示例中,我们可以看到 / 分区只使用了 9%。
对于一个更复杂的示例,还包括使用 df 查看各种挂载点,见下面:
[archuser@archlinux ~]$ df-hFilesystem      Size  Used Avail Use% Mounted ondev             1.9G     01.9G   0% /devrun             1.9G  1.1M  1.9G   1% /runefivarfs        256K   44K  208K  18% /sys/firmware/efi/efivars/dev/sda2        32G   12G   18G  40% /tmpfs           1.9G     01.9G   0% /dev/shmnone            1.0M     01.0M   0% /run/credentials/systemd-journald.servicenone            1.0M     01.0M   0% /run/credentials/systemd-resolved.servicenone            1.0M     01.0M   0% /run/credentials/systemd-networkd.servicetmpfs           1.9G  4.0K  1.9G   1% /tmp/dev/sda1      1022M   25M  998M   3% /boot/dev/sda3        31G  209M   29G   1% /hometmpfs           390M   88K  389M   1% /run/user/1000
在这个示例中,我们有一个使用率 40% 的 / 分区,以及一个仅使用 1% 的额外的 /home 分区。

最新文章

随机文章