#目录树 #大小 #pdu #图表 #灰尘 #dutree

bin+lib parallel-disk-usage

高度并行化、速度极快的目录树分析器

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 文件系统

Download history 17/week @ 2024-04-29 19/week @ 2024-05-20 2/week @ 2024-05-27 13/week @ 2024-06-03 5/week @ 2024-06-10 16/week @ 2024-06-17 8/week @ 2024-07-01 14/week @ 2024-07-08 7/week @ 2024-07-15 88/week @ 2024-07-22 149/week @ 2024-07-29 31/week @ 2024-08-05 39/week @ 2024-08-12

每月 307 次下载

Apache-2.0

115KB
2.5K SLoC

并行磁盘使用 (pdu)

Test Benchmark Clippy Code formatting Crates.io Version

高度并行化、速度极快的目录树分析器。

描述

pdu 是一个 CLI 程序,用于渲染文件和目录的磁盘使用情况的图形图表,它是 dustdutree 的替代品。

基准测试

基准测试由 GitHub 工作流 生成并上传到发布页面。

程序
基准测试结果 (越低越好)

(查看更多)

演示

screenshot

asciicast of pdu command

asciicast of pdu command on /usr

特性

  • 快速。
  • 单独文件的相对比较。
  • 可通过库 crate 或 JSON 接口扩展。
  • 可选进度报告。
  • 自定义树深度。
  • 自定义图表大小。

局限性

  • 对硬链接一无所知:所有硬链接都被计算为真实文件。
  • 不跟踪符号链接。
  • 不区分文件系统:挂载的文件夹被计算为普通文件夹。
  • 在二进制大小上做出牺牲以优化运行时。

开发

先决条件

测试

./test.sh && ./test.sh --release
环境变量
名称 类型 默认值 描述
FMT truefalse true 是否运行 cargo fmt
LINT truefalse true 是否运行 cargo clippy
DOC truefalse false 是否运行 cargo doc
BUILD truefalse true 是否运行 cargo build
TEST truefalse 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

发行版

Packaging Status

类似程序

许可证

Apache 2.0 © 黄文楷.

依赖项

~5–14MB
~198K SLoC