在linux系统中,查看磁盘使用情况最常用的两个命令是df和du。1. df用于查看整个文件系统的磁盘空间使用情况,常用参数为-h(以易读格式显示),可快速了解各挂载点的总容量、已用空间、可用空间及使用百分比;2. du用于查看具体目录或文件的占用空间,常用组合为-du -sh(汇总并以易读格式显示),也可结合通配符与排序命令定位占用空间最大的子目录或文件。此外,df -i可用于检查inode使用情况,避免因inode耗尽导致无法写入新文件。
在linux系统中,查看磁盘使用情况最常用的两个命令是 df 和 du。它们各有侧重:df 用于查看整个文件系统的磁盘空间使用情况,而 du 则用来查看目录或文件的具体占用空间。
df:查看磁盘空间整体使用情况
当你想快速了解服务器上各个挂载点的磁盘使用情况时,df 是首选命令。
常用写法:
df -h
- -h 表示以“人类可读”的方式显示(比如显示为G、M等单位)。
输出结果大致如下:
Filesystem Size Used Avail Use% Mounted on /dev/sda1 50G 20G 30G 40% / tmpfs 3.9G 0 3.9G 0% /dev/shm
关键列说明:
- Filesystem:对应的设备或文件系统
- Size:总容量
- Used:已用空间
- Avail:可用空间
- Use%:使用百分比
- Mounted on:挂载点位置
注意:有时候即使磁盘没满,但 inode 被占满也会导致无法写入新文件。可以用 df -i 查看 inode 使用情况。
du:查看具体目录/文件的空间占用
如果你想知道某个目录到底占用了多少空间,这时候就要用到 du 命令了。
基本用法:
du -sh /path/to/dir
- -s 表示汇总统计
- -h 同样是以易读格式显示
例如:
du -sh /var/log
输出可能是:
1.2G /var/log
如果你想看看这个目录下哪些子目录或文件最大,可以加上 -k 或 -a 参数,并配合排序:
du -sh /var/log/* | sort -hr | head -n 20
这样就能列出 /var/log 下最大的前20个子目录或文件。
实际使用中的几个小技巧
-
清理日志前先看大小:运行 du -sh /var/log 可以判断是否需要清理日志文件。
-
检查谁占用了大空间:进入根目录后执行:
du -sh /* 2>/dev/null | sort -hr | head -n 10
这能帮你快速定位哪个顶级目录占用了最多空间。
-
避免误删重要文件:在删除大文件之前,先用 du 确认目标路径是否正确。
-
注意隐藏文件:某些隐藏文件可能占用大量空间,如 .cache 目录,记得也查一下。
基本上就这些。掌握好 df 和 du 的组合用法,日常排查磁盘问题就轻松多了。