dundeegdu:Go 语言实现的磁盘使用分析工具
文章目录
- dundee/gdu:Go 语言实现的磁盘使用分析工具
- 1、 核心功能
- 2、 运行特性
- 3、 安装使用
- 4、 适用场景
dundee/gdu:Go 语言实现的磁盘使用分析工具
gdu 在 GitHub 上已经拿到 5,648 Star。
这是一个用 Go 语言编写的磁盘使用分析工具,针对 SSD 磁盘设计,能充分利用并行处理能力提升扫描速度,也支持 HDD 磁盘使用。
1、 核心功能
专门用于分析磁盘空间占用情况,界面直观展示目录和文件大小分布。支持多平台运行,用户可以快速定位占用空间较大的文件和目录,辅助完成磁盘清理工作。
2、 运行特性
扫描速度方面,在500GB SSD 上扫描 90G 包含50万文件的目录,冷缓存下平均耗时4.7秒,暖缓存下平均耗时466毫秒,优于传统du命令数倍。
支持三种运行模式。默认交互模式提供目录浏览操作,支持鼠标操作和键盘快捷键导航。非交互模式自动在输出非TTY场景触发,适配脚本调用场景。导出模式可将分析结果输出为JSON格式,支持后续二次分析。
内置归档文件浏览功能,支持zip、jar、tar等格式归档文件内部目录结构分析。支持硬链接识别,同一硬链接仅统计一次大小。支持将分析结果保存到SQLite或BadgerDB数据库,后续可直接读取已保存的分析结果,无需重复扫描。支持配置文件自定义运行参数,包括配色样式,用户可根据使用习惯调整界面显示效果。
3、 安装使用
安装方式包括直接下载发布页二进制文件,或者通过curl命令下载安装,也支持Docker直接运行。
命令行使用支持多种参数配置。可指定扫描目录,设置排除目录规则,选择显示文件大小单位,控制输出格式,配置存储分析结果到文件。
交互模式下支持常用操作:上下方向键移动光标,回车键进入目录,退格键返回上级目录,d键删除选中文件或目录,n键按名称排序,s键按大小排序,?键调出帮助菜单。
常用使用示例:直接运行gdu分析当前目录,gdu -d显示所有挂载磁盘信息,gdu -i参数指定忽略扫描的路径,gdu -t 10参数显示目录下最大的10个文件,gdu -o参数导出分析结果到JSON文件。
4、 适用场景
需要定期清理磁盘空间,查找大文件的普通用户。
服务器运维人员,分析服务器磁盘占用情况,排查空间不足问题。
开发人员,快速定位项目目录中占用空间较大的编译产物、日志文件。
开源地址:https://github.com/dundee/gdu
https://github.com/dundee/gdu
