Dust 磁盘使用量快速可视化 | AI生成和翻译

Home 2026.03

dust 是什么?

dust = du 的更快、更美观的替代品。它是一个基于 Rust 的 CLI 工具,以树状格式显示磁盘使用情况,带有彩色输出、进度条和直观的排序。设计上比传统的 du 更美观、更高效,命令语法更简单。

du 的主要区别: dust 针对快速扫描和视觉清晰度进行了优化,而 du 更“原始”且冗长。


安装

brew install dust

在 Linux 上:

cargo install du-dust    # 如果你有 Rust/Cargo
sudo apt install dust    # Debian/Ubuntu(某些发行版)

在 macOS 上使用 MacPorts:

sudo port install dust

验证安装:

dust --version

基本用法

扫描当前目录:

dust

扫描特定文件夹:

dust ~/Downloads

扫描主目录:

dust ~

扫描整个系统(需要 sudo):

sudo dust /

理解输出

运行 dust 时,你会看到类似以下内容:

 45.6 GiB │████████████████████│ Library
 28.3 GiB │█████████████        │ Projects
 18.7 GiB │██████████           │ Downloads
 12.1 GiB │██████               │ Applications
  8.4 GiB │████                 │ Desktop
  6.2 GiB │███                  │ Documents

各列含义:

默认情况下,dust:


命令行选项

排序与显示

Flag 功能
-r 反向排序(从小到大)
-s 按大小排序(默认)
-n 按名称字母顺序排序
-d 按修改日期排序
-e 按文件扩展名排序
-c 显示彩色输出(默认)
-C 禁用彩色输出

限制与过滤

Flag 功能
-n <num> 只显示前 N 个结果(例如 -n 20
-d <depth> 限制递归深度(例如 -d 2
-X 排除匹配正则表达式的文件
-i 忽略大小写匹配
-z 排除隐藏文件

输出与显示

Flag 功能
-b 以字节打印大小
-k 以千字节打印大小
-m 以兆字节打印大小
-g 以吉字节打印大小
-T 以树状结构显示总计
-L 使用 ASCII 而非 Unicode
-p 打印父目录的百分比
-A 聚合小文件
-h 显示帮助

常见用法模式

1. 查找 Downloads 中最大的文件夹

dust ~/Downloads

输出按大小排名显示文件夹,从最大开始。

2. 限制为前 10 个结果

dust -n 10 ~

只显示主目录中 10 个最大项目。

3. 仅显示 2 层深度

dust -d 2 ~

适合获取高层概述,而不深入挖掘:

 85.4 GiB │████████████████████│ Library
          │                    │   ├─ Caches (32.1 GiB)
          │                    │   ├─ Application Support (28.7 GiB)
          │                    │   └─ Logs (12.8 GiB)
 45.2 GiB │███████████         │ Projects
          │                    │   ├─ LargeProject (28.3 GiB)
          │                    │   └─ OtherProject (16.9 GiB)

4. 反向排序(从小到大)

dust -r ~/Downloads

有助于查看真正重要的内容与占用空间的内容。

5. 排除某些文件/文件夹

dust -X 'node_modules|\.git' ~

跳过沉重的依赖和版本控制:

dust -X '\.cache|venv' ~/Projects

6. 显示百分比

dust -p ~

显示每个文件夹占父目录的百分比:

 45.6 GiB (38%) │████████████████████│ Library
 28.3 GiB (24%) │█████████████        │ Projects
 18.7 GiB (16%) │██████████           │ Downloads
 12.1 GiB (10%) │██████               │ Applications

7. 扫描整个系统

sudo dust -n 20 /

你的 Mac 上前 20 个最大目录。

8. 以树状显示总大小

dust -T ~

包含显示累积大小的摘要树。

9. 忽略隐藏文件

dust -z ~

排除点文件和隐藏文件夹(扫描更快)。

10. 自定义单位显示

以兆字节显示大小:

dust -m ~/Downloads

或吉字节:

dust -g ~

实际场景

场景 1:清理 macOS 系统臃肿

sudo dust -d 2 ~/Library | head -20

查找:

然后深入挖掘:

dust ~/Library/Caches -n 15

场景 2:查找最大的项目

dust -d 2 ~/Projects -n 10

识别哪些项目占用最多空间。

场景 3:检查 Downloads 中的旧安装程序

dust -d 1 ~/Downloads | grep -E '\.dmg|\.zip|\.iso'

或者直接:

dust ~/Downloads -n 20

场景 4:监控磁盘使用增长

定期扫描并比较:

dust -n 15 ~ > ~/Desktop/disk_usage_$(date +%Y%m%d).txt

比较输出以查看增长内容。

场景 5:查找旧的 Node/Python 缓存

dust -X 'node_modules|__pycache__|\.venv' ~

避免显示依赖文件夹,专注于实际代码/数据。

场景 6:扫描而不跟随符号链接

dust ~/Applications

适用于 applications 文件夹,而不深入 bundle。


高级组合

在 Downloads 中查找大文件,显示前 5 个

dust ~/Downloads -n 5

获取最大项目的完整树

dust -d 10 ~/Library -n 1

显示单个最大项目的整个树状结构。

导出结果到文件

dust -C ~ > disk_usage.txt

-C 禁用颜色,使文本文件干净。

美观打印百分比和前 20 个

dust -p -n 20 ~

同时扫描多个文件夹

dust ~/Downloads ~/Projects ~/Library

比较三个文件夹的顶级内容。

查找大于特定大小的文件

dust ~ -d 10 | grep GiB

过滤输出,只显示吉字节项目(即“大”项目)。


dust 与 du 与 ncdu:快速比较

功能 du dust ncdu
速度 ⚡⚡ 非常快 ⚡⚡⚡ 最快 ⚡⚡ 快
视觉 纯文本 美观、彩色 交互式
易用性 困难(许多标志) 简单 简单
交互式 ✅ 是
排序 手动 内置 内置
删除 手动 手动 ✅ 直接删除
最适合 脚本/管道 快速概述 探索与清理

何时使用每个:


专业提示

提示 1:为常见扫描创建别名

添加到 ~/.zshrc~/.bash_profile

alias dusthome='dust -p ~'
alias dustsys='sudo dust -p /'
alias dustdown='dust ~/Downloads'
alias dustlibs='sudo dust ~/Library -d 2'

然后只需:

dustdown

提示 2:与 watch 结合实现实时监控

watch -n 5 'dust -n 10 ~'

每 5 秒更新一次(适合监控活跃下载)。

提示 3:比较两个目录

dust ~/OldProject ~/NewProject

并排比较最大内容。

提示 4:查找大小重复的文件

虽然 dust 无法检测实际重复项,但你可以发现可疑模式:

dust -d 5 ~/Downloads | grep -E '500 MiB|1 GiB'

提示 5:检查应用大小

dust /Applications -d 1 -n 20

查看哪些应用占用最多空间。

提示 6:聚合小文件

dust -A ~/Downloads

-A 标志将小项目组合成“Other”,输出更干净。


将 dust 与其他工具结合

与 grep 结合进行过滤

只显示包含“GiB”的项目(大项目):

dust ~ | grep GiB

管道到 head 获取前 N 个

dust ~ | head -15

查找大缓存

dust ~/Library/Caches -d 3 -n 20

检查特定文件类型

dust ~ -d 5 | grep -E '\.iso|\.dmg|\.zip'

故障排除

dust 运行太慢?

dust -z -X 'node_modules|\.git' ~

跳过隐藏文件和大依赖文件夹。

想要排除多个模式?

dust -X 'node_modules|\.git|\.cache|__pycache__' ~

权限被拒绝?

sudo dust /

想要纯文本输出(无颜色)?

dust -C ~ > results.txt

快速备忘单

dust                           # 扫描当前目录
dust ~                         # 扫描主目录
dust ~/Downloads               # 扫描特定文件夹
dust -n 20 ~                   # 显示前 20 个
dust -d 2 ~                    # 显示 2 层深度
dust -p ~                      # 显示百分比
dust -r ~/Downloads            # 反向排序(从小到大)
dust -X 'node_modules|\.git' ~ # 排除模式
dust -c ~/Library/Caches       # 计数文件(不可用,但有用组合)
sudo dust /                    # 扫描整个系统
dust -C ~ > output.txt         # 无颜色导出

总结

dust 完美适用于:

当你想要速度和可读性时使用 dust,当你想要交互式探索和删除时使用 ncdu,当你编写脚本或需要最大控制时使用 du

如果你有问题,请告诉我!


Back Donate