Czkawka 重复文件清理指南:三步装好,十分钟清出十几 GB
【免费下载链接】czkawkaMulti functional app to find duplicates, empty folders, similar images etc.项目地址: https://gitcode.com/GitHub_Trending/cz/czkawka
Czkawka 是一款用 Rust 写的离线重复文件清理工具,主打找重复、相似图片和空文件夹,Windows、macOS、Linux、Android 都能装。它把全部扫描逻辑放在一个核心库里,桌面图形界面 Krokiet 和命令行工具共用同一套引擎。装好以后,一块常年没整理的硬盘上,光重复文件加空目录通常就能在一两分钟内清出十几 GB。
敢把删除权交给它吗:三个能自己查的证据 🔍
第一次接触"删文件"类工具,先问安全。Czkawka 的三条底线都能自己动手验证:
- 零联网。打开仓库里的 Cargo.lock 翻一遍,没有网络请求、统计上报、更新检查一类的库,代码里根本不存在联网的路径。
- 语言底子。Rust 编写,官方口径是几乎 100% 无 unsafe 代码,扫描多线程并行,几千个文件的目录内存占用很克制。
- 缓存不存内容。哈希结果落盘做缓存,第二次扫同一批目录直接命中。缓存里只有哈希值和大小等元数据,没有文件内容。
项目由个人持续维护,版本号已迭代到 12.0 这一档,Changelog.md 里能看到每次改动的记录。
三步装好 Krokiet 📦
图形界面认准 Krokiet,单个自包含二进制,不需要额外装运行时。老 GTK 界面 12.0 之后不再出新版本,手机上可以装实验版 Cedinia。
- 从发行版发布页下载对应平台的文件。判断成功:文件能下载完整,大小几百 MB 以内。
- Linux 和 macOS 先给执行权限再启动;Windows 双击就能跑:
chmod +x mac_krokiet_arm64 && ./mac_krokiet_arm64前半句加执行权限,后半句启动程序。看到主界面加载出来就算装好。
- 只有"相似视频"和"视频优化"两个工具需要 ffmpeg,其余 12 个工具开箱即用:
sudo apt install ffmpegUbuntu 和 Debian 用这条命令,macOS 用 brew install ffmpeg,Windows 把 ffmpeg.exe 放进 PATH 即可。
第一次扫描的完整流程:六个点击走一遍
以最常见的重复文件为例,走一遍不跳步的流程:
- 选工具。打开 Krokiet,左侧面板点 "Duplicate Files",进入重复文件页。
- 加目录。要清理的位置拖进 Included Paths;系统目录、备份盘、网络磁盘放进 Excluded Paths。回收站默认就在排除列表里。
- 查过滤。设置里有最小文件尺寸,默认 16KB 以下的文件会被跳过。留着它,结果不会被一堆几 KB 的小碎片淹没。
- 保原件。备份目录那行勾上 Ref,它就变成"只参考":参与比对出结果,但任何删除操作都不碰它。
- 点扫描。默认就是内容哈希模式,用 Blake3 逐字节比对,同名但内容不同的文件不会进同一组。
- 处理结果。结果按组展示,打开 Select 选"保留最新、选中其余",先移回收站,确认无误再彻底删除。
第二次扫同一批目录会明显更快,哈希全在缓存里。
三个进阶场景:相似图片、相似视频 🎬、音乐去重
相似图片:加过水印、裁过图的也算
原理是感知哈希:把每张图压成一段"视觉指纹",越像的指纹越接近,不同分辨率、带水印、裁剪、反复压缩的图能归进同一组。默认 max difference 阈值是 10,误判多就降到 4 到 5,漏报多再调回来;勾上 Geometric invariance 后镜像、翻转的副本也能抓到。每组挑分辨率最高的那张留下。
相似视频:靠抽帧比
视频没法逐字节比,Czkawka 用 ffmpeg 从每段视频里抽帧对比画面,也能切到音频指纹模式,只比声音不比画面。前提是装好 ffmpeg。
CLI 自动化:把清理写进计划任务 ⏰
czkawka_cli 和界面共用全部扫描逻辑,子命令覆盖 dup、empty-folders、big、image、video、music、broken、ext 等。写进脚本的核心是这一组:
czkawka_cli dup -d ~/Documents -D AEN -Q czkawka_cli dup -d ~/Documents -D AEN -y czkawka_cli empty-folders -d ~/Documents -f empty.txt第一条是演练模式,只打印会删什么,不动手;确认没问题后,第二条把重复文件放进回收站;第三条把空文件夹清单写进文本文件,方便喂给后续脚本。每个子命令都带 --help。写计划任务时记住退出码:11 表示"有发现",0 表示"干净",接 if 判断很方便。
删除前先看这四条坑 ⚠️
- 同名不同内容被误删→ 原因是选了按名字或大小匹配 → 默认保持内容哈希,别动。
- 扫到不该扫的盘→ CLI 不会自动套用界面的排除规则 → 手动加 -e 或 -E DEFAULT,网络盘和系统目录先排掉。
- 建硬链接报跨盘错误→ 硬链接(一个文件挂多个名字,只占一份空间)只在同一块磁盘上有效 → 跨盘场景改用移动。
- 小文件找不到重复→ 16KB 以下的文件默认被跳过 → 去设置里把"最小文件尺寸"调低再扫。
和 DupeGuru 怎么选:一张表说清
| 对比项 | Czkawka(Krokiet) | DupeGuru |
|---|---|---|
| 语言与性能 | Rust,多线程扫描 | Python |
| 工具覆盖 | 14 类,含相似视频、音乐内容比对 | 重复文件加相似图片、音乐标签 |
| 视频比对 | 抽帧加音频指纹,需 ffmpeg | 不支持 |
| 联网行为 | 完全离线,无遥测 | 离线 |
第一次别直接扫全盘。先挑下载目录和桌面跑一轮重复扫描,十分钟内确认每组结果,再逐块把整块资料盘加进来。更多参数细节见 instructions/Instruction.md 和 instructions/FAQ.md。
【免费下载链接】czkawkaMulti functional app to find duplicates, empty folders, similar images etc.项目地址: https://gitcode.com/GitHub_Trending/cz/czkawka
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考