10 个版本 (4 个稳定版)
1.1.1 | 2023年7月1日 |
---|---|
1.1.0 | 2021年12月5日 |
1.0.1 | 2021年11月17日 |
1.0.0 | 2021年10月2日 |
0.0.1 | 2020年8月21日 |
#416 in 文件系统
每月下载量 36 次
260KB
1.5K SLoC
backdown
Backdown 帮助您安全且高效地删除重复文件。
其设计基于我对随着时间的推移重复文件累积的常见模式的观察,特别是图像和其他媒体文件。
查找重复文件很简单。当有数千个重复文件时清理磁盘是难点。Backdown 带来的是选择和删除您不想保留的重复文件的一种简单方式。
Backdown 会经历以下阶段
- Backdown 分析您选择的目录,并找出重复文件组(内容完全相同的文件)。Backdown 忽略符号链接以及以点开头的文件或目录。
- Backdown 会根据分析结果向您提出几个问题。此时不会删除任何内容:您只是为删除准备文件。Backdown 从不让您为完全相同的文件组中的所有项目准备删除。
- 在查看准备删除的文件列表后,您确认删除操作
- Backdown 在磁盘上执行删除操作
看起来像什么
分析和第一个问题
另一种类型的问题
另一种
另一种
审查和确认
此时您还可以将报告导出为 JSON 格式,并决定用保留的一个文件链接替换每个已删除的文件。
安装
从 crates.io 仓库
您必须已安装 Rust 环境: https://rustup.rs
运行
cargo install --locked backdown
从源码
您必须已安装 Rust 环境: https://rustup.rs
下载此仓库然后运行
cargo install --path .
预编译的二进制文件
除非您是 Rust 开发者,否则我建议您仅下载预编译的二进制文件,这样可以在您的磁盘上节省大量空间。
二进制文件可在 https://dystroy.org/backdown/download/ 获取
用法
删除任何类型的文件
backdown /some/directory
删除图像
backdown -i /some/directory
JSON 报告
在预览阶段之后,您可以选择将报告导出为JSON格式。这不会阻止您同时进行删除操作。
JSON看起来像这样
{
"dup_sets": [
{
"file_len": 1212746,
"files": {
"trav-copy/2006-05 (mai)/HPIM0530.JPG": "remove",
"trav-copy/2006-06 (juin)/HPIM0530 (another copy).JPG": "remove",
"trav-copy/2006-06 (juin)/HPIM0530 (copy).JPG": "remove",
"trav-copy/2006-06 (juin)/HPIM0530.JPG": "keep"
}
},
{
"file_len": 1980628,
"files": {
"trav-copy/2006-03 (mars)/HPIM0608.JPG": "keep",
"trav-copy/2006-05 (mai)/HPIM0608.JPG": "remove",
"trav-copy/2006-06 (juin)/HPIM0608.JPG": "keep"
}
},
{
"file_len": 1124764,
"files": {
"trav-copy/2006-05 (mai)/HPIM0529.JPG": "remove",
"trav-copy/2006-06 (juin)/HPIM0529.JPG": "keep"
}
},
{
"file_len": 1706672,
"files": {
"trav-copy/2006-05 (mai)/test.jpg": "remove",
"trav-copy/2006-06 (juin)/HPIM0598.JPG": "keep"
}
}
],
"len_to_remove": 8450302
}
建议
- 如果您在一个大目录上启动回滚,它可能会找到更多您怀疑的重复项。一开始不要强迫自己回答所有问题:如果您先对前十几项问题进行删除,您已经可以获得很多好处,您也可以在另一天处理其他问题。
- 不要在您的磁盘根目录启动回滚,因为您不希望尝试处理系统资源、程序、构建工件等处的重复项。将回滚启动在您存储图片、视频或音乐的地方。
- 回滚不是为开发目录设计的,也不尊重.gitignore规则。
- 如果您在一个包含数百万文件且速度较慢的磁盘上的目录启动回滚,您在内容哈希过程中可能需要等待很长时间。如果您有HDD,请先尝试使用较小的目录。
- 如果您只对图片感兴趣,请使用-i选项。
依赖项
~10–13MB
~237K SLoC