duf:文件系统与挂载点磁盘总览
用 duf 快速查看文件系统、挂载点、容量、使用率与 inode,作为 Linux 磁盘排查的第一层入口。
#howto
#growing
#ops
#linux
#linux
[!info] related notes
- 总体流程:Linux 磁盘占用检查与分析
- 下钻目录:gdu:交互式目录磁盘占用分析
- 文件系统基础:Linux 文件系统命令
- Linux 入口:Linux MOC
duf:文件系统与挂载点磁盘总览
定位
duf 是一个更适合人直接阅读的 df 替代工具。它回答的是:
哪一个文件系统 / 挂载点快满了?
它不会告诉你 /var 下面哪个目录最大;这一步应交给 gdu、du 或 ncdu。
duf / df
↓
找到高使用率 filesystem / mount point
↓
gdu / du
↓
下钻目录与文件
安装
Ubuntu 22.04+ / Debian 12+:
sudo apt update
sudo apt install duf
也支持 Arch、Fedora、macOS、Windows 等平台。
高频命令
默认总览
duf
重点看:
SIZE:文件系统总容量;USED:已用空间;AVAIL:可用空间;USAGE:使用率;MOUNTED ON:挂载点;TYPE:文件系统类型。
只看指定路径
duf /
duf /home /var
duf 会解析这些路径所在的文件系统。
只看本地文件系统
duf --only local
如果服务器挂了 SSHFS、NFS、FUSE 等远程盘,这个选项可以避免输出被干扰。
按使用率排序
duf --sort usage
查看 inode
duf --inodes
这能发现一种特殊的“磁盘没满但无法创建文件”的故障:inode 已耗尽。
精简列
duf --output mountpoint,size,used,avail,usage,type,filesystem
输出 JSON
duf --json
适合脚本、Agent 或监控系统进一步处理。
怎么读结果
容量高
如果 / 已到 90%:
/ 90%
↓
不要直接清理
↓
先用 gdu -x / 找目录
inode 高
如果容量还有很多,但 inode 接近 100%:
大量小文件
缓存目录
邮件队列
node_modules
日志碎片
通常比单个大文件更值得怀疑。
duf 与 df 的关系
| 工具 | 适合场景 |
|---|---|
df -hT | 系统自带、脚本稳定、到处可用 |
df -ih | inode 排查 |
duf | 人工巡检、交互阅读、排序过滤、JSON |
生产服务器上建议两者都掌握:df 是底层通用能力,duf 是更好的日常 UI。
边界
duf 看的是文件系统层,不是目录层。
例如:
/ 使用 109 GB
无法仅凭 duf 判断是:
/var 39 GB
/srv 28 GB
/home 28 GB
这种下钻应使用 gdu。