插件窝 干货文章 Dutree:Linux 文件系统磁盘使用追踪工具

Dutree:Linux 文件系统磁盘使用追踪工具

dutree 文件 扫描 目录 532    来源:    2025-05-14

dutree 是一个基于 Rust 编写的 Linux 命令行工具,用于快速分析文件系统的磁盘使用情况。它结合了 dutree 的功能,提供彩色可视化输出,支持排序、过滤和导出功能,适合分析大目录或排查磁盘空间占用问题。


核心功能

  1. 快速扫描
    使用多线程和高效算法,比传统 du 更快扫描大型文件系统。
  2. 彩色树状图
    类似 tree 的层级展示,但附带文件/目录大小信息。
  3. 排序与过滤
    按大小、文件数等排序,或过滤特定文件类型。
  4. 多种输出格式
    支持终端交互式浏览、JSON 导出或纯文本输出。

安装方法

1. 通过包管理器(推荐)

# Arch Linux
sudo pacman -S dutree

# Debian/Ubuntu (需手动下载.deb包)
wget https://github.com/nachoparker/dutree/releases/download/v0.2.18/dutree_0.2.18_amd64.deb
sudo dpkg -i dutree_0.2.18_amd64.deb

# Fedora
sudo dnf install dutree

2. 通过 Cargo(需安装 Rust)

cargo install dutree

常用命令示例

命令 说明
dutree 扫描当前目录,默认显示树状图
dutree /path/to/dir 扫描指定目录
dutree -s 仅显示汇总信息(不展开树)
dutree -d 3 限制目录深度为3层
dutree -u 显示文件数量而非大小
dutree -f "*.log" 仅分析 .log 文件
dutree -j > output.json 导出为 JSON 格式
dutree --help 查看完整帮助

输出解读示例

 1.1G [##########] /var
 734M [######    ]   /var/lib
 120M [#         ]     /var/lib/docker
  45M [          ]     /var/lib/mysql
 210M [##        ]   /var/log
  55M [          ]     /var/log/journal
  • 方括号 [####] 表示该目录占总空间的相对比例。
  • 默认按大小降序排列,便于快速定位大文件。

性能优化技巧

  1. 跳过无权限目录
    使用 -x 避免因权限问题拖慢扫描: bash dutree -x / # 扫描根目录时跳过无权限路径
  2. 排除特定文件系统
    bash dutree -e tmpfs # 忽略临时文件系统
  3. 并行扫描
    通过环境变量控制线程数(默认自动检测): bash DUTREE_THREADS=4 dutree /home

与其他工具对比

工具 速度 可视化 交互性 适合场景
du 脚本处理
ncdu 中等 交互分析
dutree 优秀 有限 快速定位大文件
baobab 图形化 GUI 用户

故障处理

  1. 扫描卡住
    尝试限制深度或排除网络挂载点: bash dutree -d 5 -x /mnt
  2. 缺失依赖
    若报错 libssl 缺失,安装 OpenSSL: bash sudo apt install libssl-dev # Debian/Ubuntu

进阶用法

  • jq 结合分析 JSON 输出bash dutree -j /var | jq '.[] | select(.size > 1e9)' # 查找大于1GB的目录
  • 生成 HTML 报告bash dutree -j /home | python3 -m dutree --html > report.html

通过 dutree,你可以高效定位磁盘空间占用问题,尤其适合服务器维护或清理临时文件场景。建议搭配 ncdu 进行更详细的交互式操作。