使用 Rust 构建一个高效、安全的跨平台 CLI 工具,用于在指定目录中查找和处理重复文件。利用 Rust 的高性能 I/O 和并发能力来快速扫描。
Rayon 库并行计算文件哈希。--dry-run 标志,只报告操作,不实际修改文件。--exclude 参数,可使用 glob 模式排除目录或文件。log 和 env_logger 提供不同级别的日志输出。claprayonsha2 或 blake3log, env_loggerdialoguer (提示), indicatif (进度条)/duplicate-finder
├── src/
│ ├── main.rs # 入口和 CLI 解析
│ ├── scanner.rs # 核心扫描逻辑
│ ├── file_utils.rs # 文件和哈希工具
│ └── interactive.rs # 交互处理逻辑
└── Cargo.toml
cargo new duplicate-finder,并在 Cargo.toml 中添加依赖。clap 的派生宏定义命令行参数和标志。scanner.rs 中实现递归遍历、按大小分组和高效哈希计算的逻辑。Rayon 的并行迭代器 (par_iter) 加速哈希计算。interactive.rs 中使用 dialoguer 向用户展示选项并获取输入。Result<T, E> 和 ? 操作符处理 I/O 等错误。先行任务: 设计核心数据结构(如用于存储文件信息的 struct 和 HashMap),并规划扫描和哈希算法的详细步骤。