35 个版本
0.9.3 | 2024 年 7 月 28 日 |
---|---|
0.9.2 | 2024 年 2 月 11 日 |
0.9.0 | 2023 年 3 月 10 日 |
0.8.3 | 2022 年 10 月 12 日 |
0.6.1 | 2021 年 7 月 29 日 |
#116 in 文件系统
每月 307 次下载
115KB
2.5K SLoC
并行磁盘使用 (pdu)
高度并行化、速度极快的目录树分析器。
描述
pdu
是一个 CLI 程序,用于渲染文件和目录的磁盘使用情况的图形图表,它是 dust
和 dutree
的替代品。
基准测试
基准测试由 GitHub 工作流 生成并上传到发布页面。
演示
特性
- 快速。
- 单独文件的相对比较。
- 可通过库 crate 或 JSON 接口扩展。
- 可选进度报告。
- 自定义树深度。
- 自定义图表大小。
局限性
- 对硬链接一无所知:所有硬链接都被计算为真实文件。
- 不跟踪符号链接。
- 不区分文件系统:挂载的文件夹被计算为普通文件夹。
- 在二进制大小上做出牺牲以优化运行时。
开发
先决条件
测试
./test.sh && ./test.sh --release
环境变量
名称 | 类型 | 默认值 | 描述 |
---|---|---|---|
FMT |
true 或 false |
true |
是否运行 cargo fmt |
LINT |
true 或 false |
true |
是否运行 cargo clippy |
DOC |
true 或 false |
false |
是否运行 cargo doc |
BUILD |
true 或 false |
true |
是否运行 cargo build |
TEST |
true 或 false |
true |
是否运行 cargo test |
BUILD_FLAGS |
字符串 | (空) | 用空格分隔的 cargo build 的标志 |
TEST_FLAGS |
字符串 | (空) | 用空格分隔的 cargo test 的标志 |
运行
./run pdu "${arguments[@]}"
"${arguments[@]}"
:传递给pdu
的参数列表。
构建
调试构建
cargo build --bin pdu
生成的可执行文件位于 target/debug/pdu
。
发布构建
cargo build --bin pdu --release
生成的可执行文件位于 target/release/pdu
。
更新shell完成文件
./generate-completions.sh
扩展 parallel-disk-usage
parallel-disk-usage 包既是二进制包也是库包。如果您希望使用 pdu
自身缺乏的功能(即,您已经向 pdu
的维护者请求功能,但他们拒绝了),则可以使用库包来构建自己的工具。库包的文档可以在 docs.rs 中找到。
或者,pdu
命令提供了 --json-input
标志和 --json-output
标志。 --json-output
标志将磁盘使用数据转换为 JSON,而 --json-input
标志将 JSON 转换为可视化。这两个标志允许与其他 CLI 工具集成(根据 UNIX 哲学,通过管道)。
注意,JSON 树的结构取决于提供的文件/目录名称的数量(作为 CLI 参数)
- 如果只有 0 或 1 个文件/目录名称,树根的名称将是一个真实路径(无论是
.
还是提供的名称)。 - 如果有 2 个或更多文件/目录名称,树根的名称将是
(total)
(这不是一个真实路径),提供的名称将与树根的子级相对应。
安装
任何桌面操作系统
从 GitHub
访问 GitHub 发布页面 并下载一个二进制文件。
从 crates.io
先决条件
cargo install parallel-disk-usage --bin pdu
Arch Linux
从 Arch 用户仓库
先决条件
- 例如,使用 AUR Helper,如
paru
paru -S parallel-disk-usage-bin
paru -S parallel-disk-usage
从 Khải 的 Pacman 仓库
按照 安装说明,然后运行以下命令
sudo pacman -S parallel-disk-usage
发行版
类似程序
许可证
Apache 2.0 © 黄文楷.
依赖项
~5–14MB
~198K SLoC