duf 现代磁盘使用与空闲工具
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/duf-modern-disk-usage-free-utility 技能。
技能介绍
要解决的问题
传统 df 命令存在了几十年,输出格式几乎没变:纯文本表格、列名晦涩、不同发行版排版还不一致。当一台机器挂着十几块盘,混着 ext4、xfs、overlayfs、tmpfs 多种文件系统时,想快速判断"哪块盘快满了",往往要在一屏密密麻麻的输出里逐行找。对自动化脚本来说,df 的文本输出同样难以稳定解析:没有结构化输出选项,字段格式随平台漂移。
核心能力
duf 把"查看挂载点使用情况"这件事重做了一遍:
- 彩色终端输出:以清爽的表格展示每个挂载点的使用率、已用/可用空间和挂载路径,使用率接近阈值时一眼可见,不用盯着字符数数。
- JSON 输出:提供结构化的
JSON输出,监控采集、自动化脚本或配置管理工具可以直接消费,不必再正则解析纯文本。 - 按文件系统类型过滤:支持按
ext4、tmpfs、overlay等类型智能过滤,在物理盘、虚拟文件系统与容器 overlay 混杂的环境里,只看你关心的部分。 - 跨平台:同一套工具覆盖 Linux、BSD、macOS 和 Windows,输出风格统一。
工作方式
使用时通常分三步:
- 直接运行工具,列出当前系统所有挂载点的使用率与空闲空间,替代
df -h的日常使用。 - 按环境需要按文件系统类型过滤——比如容器宿主机上只看真实磁盘,忽略
tmpfs和overlayfs。 - 需要喂给下游脚本时切换到
JSON输出模式,把结构化数据交给后续工具处理。
适用边界
- duf 的定位是
df的现代替代品,只负责"挂载点使用率/空闲空间"这一层信息。若需逐目录排查空间占用,它不替代du之类的深入分析工具,二者通常要配合使用。 - 运行环境需要可用的
Go工具链(Go 1.23 及以上),更适合开发者和运维人员的自有环境,不适合直接部署到资源受限的嵌入式设备。 - 过滤逻辑基于文件系统类型,遇到网络文件系统等特殊挂载时,仍需结合具体情况判断。
使用场景
- 容器宿主机需要快速判断物理磁盘使用率,过滤 tmpfs 与 overlayfs 虚拟文件系统
- 自动化脚本需要结构化磁盘数据,要求 JSON 输出替代传统 df 文本解析
- Linux、macOS、Windows 多平台环境需统一监控输出格式,避免平台差异导致的解析问题
- 监控阈值告警场景下需要快速定位接近使用上限的挂载点,减少人工逐行检查
适合人员
- DevOps 工程师:需要在多节点环境快速判断磁盘空间瓶颈,用 JSON 输出对接监控系统
- 容器平台管理员:需要在宿主机过滤虚拟文件系统,只关注物理磁盘使用情况
- 自动化工具开发者:需要跨平台输出格式统一,替代传统 df 的文本解析逻辑
- 存储系统开发者:需要按文件系统类型过滤,测试特定挂载点的空间统计逻辑