dutree
是一个基于 Rust 编写的 Linux 命令行工具,用于快速分析文件系统的磁盘使用情况。它结合了 du
和 tree
的功能,提供彩色可视化输出,支持排序、过滤和导出功能,适合分析大目录或排查磁盘空间占用问题。
du
更快扫描大型文件系统。tree
的层级展示,但附带文件/目录大小信息。# 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
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
[####]
表示该目录占总空间的相对比例。-x
避免因权限问题拖慢扫描:
bash
dutree -x / # 扫描根目录时跳过无权限路径
bash
dutree -e tmpfs # 忽略临时文件系统
bash
DUTREE_THREADS=4 dutree /home
工具 | 速度 | 可视化 | 交互性 | 适合场景 |
---|---|---|---|---|
du |
慢 | 无 | 无 | 脚本处理 |
ncdu |
中 | 中等 | 有 | 交互分析 |
dutree |
快 | 优秀 | 有限 | 快速定位大文件 |
baobab |
慢 | 图形化 | 有 | GUI 用户 |
bash
dutree -d 5 -x /mnt
libssl
缺失,安装 OpenSSL:
bash
sudo apt install libssl-dev # Debian/Ubuntu
jq
结合分析 JSON 输出:
bash
dutree -j /var | jq '.[] | select(.size > 1e9)' # 查找大于1GB的目录
bash
dutree -j /home | python3 -m dutree --html > report.html
通过 dutree
,你可以高效定位磁盘空间占用问题,尤其适合服务器维护或清理临时文件场景。建议搭配 ncdu
进行更详细的交互式操作。