gdu

极速磁盘空间分析工具,支持控制台交互与多核并行处理。

支持平台:Linux / macOS / Windows

日常开发和运维过程中,服务器或本地磁盘空间常常被各类日志、缓存和依赖文件悄悄占满。gdu (go DiskUsage()) 正是一款为了解决这一痛点而生的利器。它使用 Go 语言编写,旨在提供极速的磁盘使用情况分析体验。

亮点

  • 极致速度:专为 SSD 磁盘设计,能够充分利用多核并行处理能力来加速扫描,性能表现极为优异。
  • 多种运行模式:支持交互式界面(默认)、非交互式命令行输出以及 JSON 格式导出,完美适配人工查看与自动化脚本处理。
  • 内存优化:在非交互式模式下(不使用 --top--depth 时),采用特殊分析器,仅跟踪顶层目录总数,无论扫描的目录树有多大,内存占用始终保持恒定。
  • 数据持久化:支持将扫描分析的数据保存至 SQLite 或 BadgerDB 数据库,后续可通过参数直接读取历史数据,无需耗时重新扫描。
  • 高度可定制:支持通过 YAML 配置文件自定义颜色样式、排序规则,甚至提供实验性的后台并行删除大文件功能。

快速开始

通过 curl 直接下载安装(Linux 示例):

curl -L https://github.com/dundee/gdu/releases/latest/download/gdu_linux_amd64.tgz | tar xz
chmod +x gdu_linux_amd64
mv gdu_linux_amd64 /usr/bin/gdu

Windows 安装:

推荐使用 Scoop 一键安装:

scoop install gdu

也可以直接下载官方压缩包 gdu_windows_amd64.exe.zip,解压后在终端中运行。

基础使用方法:

  1. 分析当前目录:直接在终端输入 gdu 即可启动默认的交互式界面。
  2. 忽略特定目录:使用 -i 参数过滤不需要扫描的路径,例如 gdu -i /sys,/proc /
  3. 仅显示纯文本统计:如果你想把结果传给其他工具处理,可使用非交互模式 gdu -n /path
  4. 查找前 10 个最大的文件:非交互模式下用 -t 参数直接列出,例如 gdu -t 10 /path

你也可以直接通过 Docker 快速体验:

docker run --rm --init --interactive --tty --privileged --volume /:/mnt/root ghcr.io/dundee/gdu /mnt/root
💡 AI 使用建议帮我安装 https://github.com/dundee/gdu 到项目中,使用该项目极速分析磁盘空间并清理冗余大文件

相关链接