Yorhel's Projects 上的 ncdu 是什么工具?

更新时间

ncdu 是 Yorhel 开发并维护的一款磁盘使用情况查看工具,托管在 dev.yorhel.nl(Yorhel's Projects)上。它适合需要在终端里快速找出“哪个目录、哪个文件占空间”的用户。根据站点公告,ncdu 目前有 1.x 和 2.x 两条版本线,近期更新集中在 2.9 系列,新增了 --delete-command 选项,并修复了旧 Linux 内核上的二进制导入问题、改进了文件删除确认窗口的可访问性。

它解决什么问题

磁盘空间被占满时,逐层执行 du 往往要反复切换目录、输出也很长。ncdu 把目录占用情况做成可交互的界面,让你在同一屏里浏览各目录大小,并直接进入下一层查看。它属于终端工具,适合在服务器或本地 shell 中使用,不需要图形界面。

近期版本变化

站点公告记录了 ncdu 的发布节奏,与选型和使用直接相关的有:

版本 时间 主要变化
2.9 2025-08-16 新增 --delete-command 选项;修复旧 Linux 内核上的二进制导入;改进文件删除确认窗口的可访问性
2.9.1 2025-08-21 支持用 Zig 0.15 构建
2.9.2 2025-10-24 修复用 Zig 0.15.2 编译时可能出现的挂起
2.8 2025-03-05 支持在配置文件中忽略错误;--help 列出全部支持的选项;1.22 同期回移了 --graph-style
2.8.1 2025-04-28 修复 fstatat() 返回意外错误码时可能崩溃、导出二进制格式时可能整数溢出
2.8.2 2025-05-01 修复 MacOS 上的构建错误

从这些记录可以看出两点:2.x 是当前活跃维护的版本线,1.x 主要做少量回移;如果你在用 Zig 构建,2.9.1 及以上才支持 Zig 0.15。

怎么选版本

  • 新部署或希望用到 --delete-command、更好的删除确认窗口可访问性,选 2.9 系列。
  • 在 MacOS 上构建,至少用 2.8.2,避免已知构建错误。
  • 使用 Zig 0.15 工具链,选 2.9.1 或 2.9.2;其中 2.9.2 针对 Zig 0.15.2 的挂起问题做了修复。
  • 仍在用 1.x 且不想大改,可关注 1.22 这类回移版本,但它不会获得 2.x 的新选项。

使用前需要知道的前提

公告只说明了版本与修复内容,没有给出安装方式、具体命令语法或平台支持清单。实际使用前,建议从项目主页和 changelog 确认当前版本的构建要求(例如 Zig 版本)以及 --delete-command 的参数形式,再决定是否在重要目录上启用删除相关功能。删除确认窗口的可访问性改进说明该操作有确认环节,但仍建议先在测试目录验证行为。

同站其他项目的关系

Yorhel's Projects 上还托管 FU、TUWF 等 Perl 相关项目。公告显示 TUWF 1.6 发布后已进入维护模式,由 FU 取代。这与 ncdu 无直接依赖关系,选型时不必把两者混在一起考虑;ncdu 是独立的磁盘使用工具,按上面的版本条件选择即可。