一个功能强大的磁盘使用分析命令行工具gdu

大家好,今天给大家分享的是一个用 Go 语言编写的磁盘使用分析器gdu,它能够快速扫描并展示文件和目录所占用的磁盘空间。

项目介绍

gdu 提供了直观的用户界面,让用户可以轻松地了解磁盘空间的使用情况,并快速定位占用空间较大的文件或目录。

主要特点

快速: 采用并行处理的方式,能够快速扫描大容量的磁盘。

直观: gdu提供了树形结构的视图,可以清晰地展示文件和目录的大小和占用比例。

交互性: 支持交互式操作,用户可以通过键盘或鼠标进行导航和筛选。

可定制: gdu提供了丰富的命令行选项,可以根据需要定制显示内容和排序方式。

跨平台: gdu支持 Linux、macOS 和 Windows 等多种操作系统。

主要功能

磁盘空间分析: 快速扫描磁盘并生成磁盘空间使用报告。

文件搜索: 根据文件名、大小、类型等条件搜索文件。

目录浏览: 以树形结构显示目录内容,并可以展开或折叠目录。

排序: 可以根据大小、名称等字段对文件和目录进行排序。

筛选: 可以根据文件类型、大小范围等条件筛选文件。

导出: 可以将分析结果导出为文本或图形格式。

使用场景

查找占用空间大的文件: 快速定位并删除不再需要的大文件,释放磁盘空间。

分析磁盘空间使用情况: 了解不同类型的文件占用的磁盘空间比例。

优化系统性能: 通过清理磁盘空间,提高系统运行速度。

故障排查: 查找磁盘空间不足的原因。

gdu 是一个功能强大、易于使用的磁盘空间分析工具,对于需要管理大量数据的用户来说非常有用。它可以帮助用户快速了解磁盘的使用情况,并采取相应的措施来优化磁盘空间。

安装使用

安装

1.直接下载二进制文件

访问 GitHub 发布页面

选择适合你操作系统的版本: 根据你的操作系统(Linux、macOS、Windows)和架构(x86_64、arm64 等)下载对应的二进制文件。

将下载的文件移动到你的 PATH 环境变量中的目录下: 比如 /usr/local/bin。

设置执行权限:

复制代码
chmod +x /usr/local/bin/gdu
2.使用包管理器安装

Arch Linux:

复制代码
pacman -S gdu

Debian:

复制代码
apt install gdu

Ubuntu

复制代码
add-apt-repository ppa:daniel-milde/gdu
apt-get update
apt-get install gdu

NixOS:

复制代码
nix-env -iA nixos.gdu

Homebrew:

复制代码
brew install -f gdu
# gdu will be installed as `gdu-go` to avoid conflicts with coreutils
gdu-go

Snap:

复制代码
snap install gdu-disk-usage-analyzer
snap connect gdu-disk-usage-analyzer:mount-observe :mount-observe
snap connect gdu-disk-usage-analyzer:system-backup :system-backup
snap alias gdu-disk-usage-analyzer.gdu gdu

Binenv

复制代码
binenv install gdu

Go:

复制代码
go install github.com/dundee/gdu/v5/cmd/gdu@latest

Winget (for Windows users):

复制代码
winget install gdu

Scoop:

复制代码
scoop install gdu

使用

复制代码
gdu                                   # 分析当前目录
gdu -a                                # 显示表观大小而不是磁盘使用情况
gdu --no-delete                       # 禁止写入操作
gdu <some_dir_to_analyze>             # 分析给定的目录
gdu -d                                # 显示所有已安装的磁盘
gdu -l ./gdu.log <some_dir>           # 将错误写入日志文件
gdu -i /sys,/proc /                   # 忽略一些路径
gdu -I '.*[abc]+'                     # 根据文件中的常规模式忽略路径
gdu -X ignore_file /                  # 根据文件中的常规模式忽略路径
gdu -c /                              # 仅使用白色/灰色/黑色

gdu -n /                              # 仅打印统计数据,不启动交互模式
gdu -np /                             # 不显示进度,在脚本中使用其输出时很有用
gdu -nps /some/dir                    # 仅显示给定目录的总使用量
gdu / > file                          # 将统计信息写入文件,不启动交互模式

gdu -o- / | gzip -c >report.json.gz   # 将所有信息写入 JSON 文件以供以后分析
zcat report.json.gz | gdu -f-         # 从文件中读取分析

GOGC=10 gdu -g --use-storage /        # 使用持久键值存储来保存分析数据
gdu -r /                              # 从持久键值存储中读取保存的分析数据

项目地址

复制代码
https://github.com/dundee/gdu

一个功能强大的磁盘使用分析命令行工具gdu - BTool博客 - 在线工具软件,为开发者提供方便

相关推荐
tedcloud1235 小时前
OpenLogi 怎么搭建?用 Rust 打造一个轻量的 Logitech 外设管理工具
linux·运维·服务器·开发语言·后端·rust·开源
DolphinDB智臾科技5 小时前
不懂复杂金融数据,也能让 AI 做投研:DolphinDB 股票分析 MCP 已开源
人工智能·金融·开源
pnoker6 小时前
从工业软件到 AI 智能体:工业 AIoT 技术路线的系统梳理
java·人工智能·物联网·microsoft·开源·工业互联网
智码看视界6 小时前
Apodex-1.1-mini 部署实测:Int4 量化 18GB 单卡跑通 Agent Team,35B 开源逼近 1T Kimi
开源·agent·模型量化·智能体·开源大模型·大模型本地部署·apodex
夏文强6 小时前
DeepSeek Harness 底层探秘:Cordis 元框架与「一切皆插件」的实现
人工智能·开源·大模型·agent·deepseek
FfHUCisI6 小时前
GMP 调度器:Go 并发的心脏是如何跳动的
开发语言·golang·php
郝学胜-神的一滴6 小时前
C++11 工程级应用 08:Lambda表达式与Tuple元组
开发语言·jvm·c++·python·程序人生·开源
我不会起名字3227 小时前
一天一道算法题(26):栈的简单应用
java·数据结构·python·算法·leetcode·golang·
夏文强7 小时前
DeepSeek Harness 可追溯性实战:会话日志的 resume、fork 与 replay
人工智能·开源·大模型·agent·deepseek
Superzhangaa7 小时前
太希智能全栈自研背后的机器人逻辑
人工智能·机器人·开源