du
(disk usage)和 df
(disk free)是 Linux 系统中两个用于检查磁盘空间使用的命令,它们的本质区别在于它们所提供的信息和用途:
-
df
命令:df
用于报告文件系统的磁盘空间使用情况。- 它显示的是整个文件系统的总空间、已用空间、可用空间以及已挂载的设备。
df
可以显示所有文件系统的磁盘使用情况,也可以指定某个特定文件系统或挂载点。- 这个命令对于确定哪些文件系统或分区接近或已经达到存储容量上限非常有用。
-
du
命令:du
用于检查文件和目录的磁盘使用情况。- 它显示的是指定文件和目录占用的磁盘空间量。
du
可以递归地显示目录下所有子目录和文件的大小,也可以显示单个文件的大小。- 这个命令对于找出占用大量磁盘空间的文件和目录非常有用,可以帮助用户清理不必要的文件以释放空间。
简而言之,df
更多地关注整个文件系统的磁盘空间使用情况, du
则关注特定文件和目录的磁盘占用。在实际使用中,你可能会先用 df
来查看哪个文件系统空间不足,然后用 du
来检查该文件系统中哪些文件或目录占用了较多空间。
**案例场景**:
你管理着一台 Linux 服务器,最近注意到系统运行缓慢,怀疑可能是磁盘空间不足导致的。你决定检查一下磁盘空间的使用情况。
步骤 1:使用 df 检查文件系统空间
首先,你运行 df 命令来查看各个文件系统的磁盘使用情况。
df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 20G 19G 1.0G 98% /
/dev/sda2 10G 2.0G 8.0G 20% /data
/dev/sdb1 100G 95G 2.1G 96% /backup
这里的 `-h` 选项表示以人类可读的格式(例如 KB、MB、GB)显示信息。
从这个输出中,你可以看到 `/` 文件系统(位于 `/dev/sda1`)的使用率非常高,已经使用了 98% 的空间,而其他文件系统的空间使用率则相对较低。
步骤 2:使用 du 检查具体文件或目录占用
由于 `/` 文件系统空间不足,你决定进一步检查这个文件系统中哪些文件或目录占用了较多空间。你从根目录 `/` 开始检查。
du -sh /*
4.0K /bin
2.0M /boot
1.5G /home
这里的 `-s` 选项表示只显示总计,不显示子目录和文件的详细大小,而 `-h` 选项依然是用来以人类可读的格式显示信息。
你注意到 `/home` 目录占用了 1.5GB 的空间,这可能是导致 `/` 文件系统空间不足的原因之一。
步骤 3:深入检查特定目录
为了进一步了解 `/home` 目录下哪些用户的数据占用了较多空间,你可以深入到该目录并再次使用 `du` 命令。
du -sh /home/*
这将显示 `/home` 目录下每个用户目录的占用情况。你可能会发现某个特定用户目录占用了大量空间。
步骤 4:清理不必要的文件
一旦你找到了占用空间较大的文件或目录,你可以决定是否删除一些不必要的文件来释放空间,或者将这些文件移动到其他磁盘上。
通过这个案例,你可以看到 `df` 和 `du` 命令是如何协同工作来帮助你诊断和解决磁盘空间不足的问题。