软件推荐:disktree
介绍
disktree - 开源、免费、跨平台的磁盘空间分析工具
- tobi/disktree: A treemap for finding and removing what fills your disk, for Omarchy. Rust + GPUI.
- disktree 最新版本下载
作者是 Shopify 的 CEO Tobias Lütke(GitHub 上的 @tobi),用 Rust + GPUI 写成,最早是为 Omarchy 这个 Arch Linux 桌面准备的,后来陆续补上了 macOS 和 Windows 的官方构建。
项目 2026 年 9 月 24 日才建仓,到现在不到一个月,已经有 3.4k star,最新版本是 0.11.0。
一句话概括:把磁盘占用铺成一张可以缩放、可以点选、可以标记的矩形树图,标完复核一次,再一次性清理掉,侧边栏全程告诉你「这块盘现在还剩多少、清完能剩多少」。
环境
- Windows 10 23H2
- disktree 0.11.0
同类工具
- Windows:软件推荐:WizTree - 狂飙
- macOS:软件推荐:DaisyDisk - 狂飙
WizTree 在 Windows 上更快,DaisyDisk 在 macOS 上更精致,但一个闭源、一个收费。disktree 的定位正好是这两者的开源、免费替代,而且它自己就是跨平台的。
特点
开源
MIT 协议,代码全部在 GitHub 上,可以自己编译、自己改,也可以直接拿去用在自己的工具里。
对一个「负责删文件」的工具来说,源码可见这件事比一般的软件更重要——它到底会删什么、不会删什么,都写在 crates/disktree-core/src/removal.rs 里,而且每一条规则都有测试。
代码质量也不是玩票:clippy::all 和 clippy::pedantic 全开且警告即错误,连窗口都有真实按键的端到端测试。0.11.0 这一版合并了 20 多个 PR,其中 14 位是第一次贡献代码的开发者,社区的活跃度相当高。
免费
没有 Pro 版、没有内购、没有试用期、没有文件数量限制,从下载到卸载都不用付钱,也不用注册账号。
作为对比:WizTree 是个人免费、商用需要授权,DaisyDisk 是商业软件,而 disktree 是 MIT。
跨平台
同一份 Rust 代码,Linux、macOS、Windows 三端都有官方构建,不用去第三方站点找「汉化绿色版」:
| 平台 | 下载包 | 安装方式 |
|---|---|---|
| Linux | disktree-*-x86_64-linux.tar.gz(ARM 用 aarch64) |
解压后执行 ./install.sh,或 yay -S disktree-bin |
| macOS | disktree-*-aarch64-macos.zip(Intel 用 x86_64) |
解压后把 disktree.app 拖进「应用程序」 |
| Windows | disktree-*-x86_64-windows.zip(ARM 用 aarch64) |
解压即用,双击 disktree.exe |
界面用 GPUI(Zed 编辑器的 GPU 渲染 UI 框架)写成,在 Omarchy 上跟随系统主题,在 Windows、macOS、GNOME、KDE 上跟随系统的浅色/深色设置。
macOS 上有个小坑:没有签名、没有公证的版本会被 Gatekeeper 拦下来,提示「已损坏,无法打开」。软件本身没问题,清一次隔离标记就好:
|
|
结果直观
矩形树图(treemap)的面积就是真实的磁盘占用,一层套一层,哪个目录在吃盘一眼就能看出来。几个设计细节我很喜欢:
- 颜色表示「哪一类数据」:代码、工具链、git 仓库、同步盘、媒体、文档、缓存,各有各的颜色,越深的一层颜色越浅。
- 斜纹表示「能拿回来的空间」:缓存、同步历史、包缓存、构建产物,不管是什么颜色,都会打上斜纹。这一条比单纯显示大小有用得多——大不等于该删。
- 侧边栏永远显示这块盘:选中项的大小、占比、文件数、最后写入时间,以及整块盘「现在剩多少 / 标完之后剩多少」。
- 缩放很顺:滚轮朝一个目录放大,放满视图后再滚一格就直接进去了,一个连贯的动作;
Enter进入任意深度的目录,Backspace/Esc返回上一层。
t 键可以在三种视角之间切换:大小、文件数、最后写入时间(按时间上色,从本周到更早)。文件数视角特别适合找「一堆小文件拖慢备份」的情况。
标记 → 复核 → 删除
这是 disktree 和其他工具最大的区别:标记不等于删除。
space/x标记或取消标记,标记过的方块会变成警示色,目录里被包含的内容一起变色——删目录就是连着内容一起删。- 标记目录会吸收里面已经标好的项,不会重复计算空间;标记随时可以撤销。
- 标完按
c(或点「Review…」)进入复核页,可以逐条取消,然后选择:- Move to trash:默认选项。Windows 走回收站,macOS 走系统废纸篓,Linux 依次尝试
trash-cli、gio trash和内置的 XDG 回收站。 - Delete permanently:
rm -rf语义,但一定会先弹一个对话框,写清楚要删什么、能腾出多少。
- Move to trash:默认选项。Windows 走回收站,macOS 走系统废纸篓,Linux 依次尝试
- 删完会自动重扫一遍,并告诉你实际释放了多少空间。
安全规则写得很克制,而且都能在源码里找到:
- 只能删扫描根目录以下的东西;
- 文件系统根目录、扫描根目录、家目录,拒绝;
- 挂载点、以及内部包含挂载点的目录,拒绝;
- 系统目录(Linux 的
/usr、/etc、/boot、/var/lib,Windows 的Windows、Program Files、ProgramData,以及C:/Users和其中每个用户的目录)直接拒绝,哪怕权限允许; - 符号链接只删链接本身,绝不跟进去;
- 不把路径交给 shell 执行,所以一个叫
-rf的文件就只是一个文件; - 选中 git 仓库时,会以关闭 hook、fsmonitor、pager 的方式去问 git 状态,显示未提交的改动、stash 和未推送的提交——避免把「只存在于本地」的代码删掉。
键盘优先
所有操作都能用键盘完成,鼠标只是备选:
| 按键 | 作用 |
|---|---|
space / x |
标记 / 取消标记光标下的方块 |
enter |
进入选中的目录(任意深度) |
backspace / esc |
返回上一层 |
alt ← / alt → |
在访问过的目录之间后退、前进 |
← ↑ ↓ → |
在同一层的方块之间移动 |
tab |
跳到下一个最大的同级目录 |
/ |
按名字过滤 |
[ ] |
减少 / 增加一次绘制的层数 |
t |
切换大小 / 文件数 / 时间三种视角 |
d |
磁盘占用 / 表观大小 |
i |
显示 / 隐藏隐藏文件 |
c |
打开复核清单 |
g |
扫描整块磁盘 |
v |
切换卷 |
r |
重新扫描 |
? |
查看全部快捷键 |
算得准
- 默认统计的是磁盘占用(
st_blocks × 512),也就是du报的那个数、删除后真正能拿回来的空间,而不是ls -l看到的表观大小。按d可以切换。 - 硬链接只算一次,两个名字指向同一个 inode 只算一份。
- 默认包含隐藏文件——家目录里最大的东西往往就是
~/.cache,不显示等于自欺欺人。 - macOS 上需要给它完全磁盘访问权限,否则 Mail、Messages、Safari、其他 App 的数据和废纸篓都会被算成「不可读」,显示的占用会偏低。
- Windows 上以管理员身份运行时,整块 NTFS 盘会直接读 MFT,速度和准确性都更好;普通权限下则老老实实遍历目录。
对开发者友好
分类器(crates/disktree-core/src/classify.rs)靠目录名和少量「形状」来判断:旁边有 Cargo.toml 的 target、裸的 git 仓库、Steam 库、.cache、.codex、.microsandbox 这类 agent 目录,它都认得出来。配合斜纹的「可回收」标记,找构建产物基本不用动脑。
侧边栏还有一个 Worth a look 列表,列出最可能该清理的几块空间,并按「可回收 / 陈旧 / 构建产物」标注原因。清磁盘这件事,从「自己找」变成了「挑一个」。
复核页还有两个很实用的出口:s 把清单存成一个纯文本文件(一行一个路径),a 复制一段写给 coding agent 的 prompt,让它按你标的路径去清理、并在动手前逐个确认。这大概是目前清理磁盘最顺手的方式之一。
缺点
在 Windows 下不如 WizTree 快
WizTree 早就把「提权直读 NTFS 的 MFT」做成了默认路径,启动就申请管理员权限,几秒钟出结果,而且这条路它已经打磨了很多年。
disktree 的 MFT 捷径是有前提的:只有「管理员权限 + 整块 NTFS 盘」这个组合才会去读 MFT;如果扫的是某个目录(比如 D:/Games),或者没有提权,它仍然要一层层遍历目录。项目 README 里举的例子是 400 万文件的 C 盘:提权读 MFT 约 3.4 秒、WizTree 约 11.2 秒、纯目录遍历约 20 秒——不过这是作者自己机器上的一次测量,看看就好。
换句话说,只有在「整盘 + 提权」这个最佳条件下,它才有机会追平甚至超过 WizTree;日常扫某个目录的时候,速度还是落在 WizTree 后面——而日常用得最多的恰恰是「扫某个目录」。
所以结论很简单:日常在 Windows 上还是 WizTree 更快,disktree 的价值在另外两个平台,以及「开源、免费、一个程序全平台」这件事上。
界面暂无中文
界面是纯英文的,菜单、快捷键提示、复核页、错误信息都是英文,仓库里也没有本地化相关的代码。对习惯英文界面的用户不算问题,但和 WizTree、DaisyDisk 完整的中文化比起来,这是个明显的短板。
总结
如果只需要一个工具,我的建议是:
- Windows:继续用 WizTree,它在这个平台上依然是最快的;
- macOS:想要精致和中文,用 DaisyDisk;想要开源免费,装 disktree;
- Linux:disktree 本来就是为 Omarchy 写的,在其他发行版上也是目前比较现代的图形化选择(KDE 的 Filelight、GNOME 的 Baobab 更老牌一些)。
disktree 真正打动我的不是「又一个磁盘分析工具」,而是它的取舍:把「找空间」和「删东西」拆成两步,中间加一次复核;把「能拿回来多少」和「占了多少」分开显示;把删除规则写成代码、写成测试。这些都是一个开源项目才会有的坦诚。
它还是 0.x 版本,更新很快,功能也在变。好在默认就是「进回收站」,试错的成本很低——先拿它扫一遍家目录,看看那些斜纹都在哪里,比什么都直观。

共有 0 条评论