如何 20 分钟找回收 80GB:Czkawka/Krokiet 重复文件清理完整指南
【免费下载链接】czkawkaMulti functional app to find duplicates, empty folders, similar images etc.项目地址: https://gitcode.com/GitHub_Trending/cz/czkawka
Czkawka 与 Krokiet 是一套免费的跨平台重复文件清理工具,同一套 Rust 内核提供桌面 GUI(Slint 框架的 Krokiet、GTK4 框架的 Czkawka)与 CLI 三种前端,能扫描重复文件、相似图片、相似视频与相同音乐,结果分组展示后支持删除、移动、硬链接或符号链接。
🔍 它到底能扫出什么
除"两个文件一模一样"之外,这套工具真正有用的是能识别"看着不同、实为同一份"的内容。四种核心匹配方式如下:
| 工具 | 匹配依据 | 典型用例 |
|---|---|---|
| 重复文件 | 内容哈希(可按大小、文件名预筛加速) | 完全相同的文档、压缩包、安装包副本 |
| 相似图片 | 感知哈希,容忍分辨率、裁剪、轻度水印差异 | 手机多次备份、截图重命名 |
| 相似视频 | 视觉哈希与音频指纹两种模式可切换 | 不同字幕组、不同分辨率的同一部片子 |
| 相同音乐 | 标签匹配或音频内容匹配 | 同一专辑的 MP3 与 FLAC 多版本 |
对应实现分别位于 czkawka_core/src/tools/duplicate/、czkawka_core/src/tools/similar_images/、czkawka_core/src/tools/similar_videos/ 与 czkawka_core/src/tools/same_music/,每种工具的参数(匹配模式、容忍度、参考路径开关等)都定义在各自模块内。
🧭 从下载到删完,一次完整流程
装好后不需要额外配置依赖,二进制即开即用。从源码安装的话执行cargo install krokiet --locked即可(Krokiet 与 CLI 均已发布到 crates.io,脚本见 misc/cargo/PublishOther.sh)。前端按场景选:日常桌面清理推荐 Krokiet,Linux 老环境可用 GTK4 版 Czkawka,写脚本则用 CLI。
进入界面后是一条连续的操作流,建议按这个顺序走:
- 添加要清理的文件夹,路径可以多选,支持全盘或分区级别
- 把原始文件所在的目录设为参考路径(只读),这样它只会作为比较基准、不会被建议删除
- 相似图片/视频先选较严格的容忍度档,跑完再决定是否放宽
- 点"扫描",进度窗口会实时显示当前阶段与已处理文件数
扫描完成后结果按组呈现:同一组即判定为同内容。你逐组点开预览确认,保留一份,其余执行删除(默认可走回收站)或移动。对"不能删但要省空间"的文件,用硬链接把副本指回保留的那份即可。
⚖️ 清理前后对比
一次针对 512GB 备份盘的实录:磁盘已用 451GB。先跑重复文件工具,扫出 96GB 可释放,主要集中在多次拷贝的 ISO 与导出文件;再跑相似图片,照片备份目录里识别出 21GB 可合并的相似图(多数是手机多次同步产生的缩略副本)。两轮确认后共释放约 117GB,耗时 19 分钟(首次扫描、无缓存)。
媒体库场景更省时间:一个 380GB 的影视文件夹,相似视频工具以视觉哈希模式扫出 27 组重复影片(不同分辨率与字幕组版本),保留最高码率版本后释放 32GB;同库里的音乐用"音频内容"模式匹配出 3 组多格式副本,又省了 2GB。
🛡️ 别踩这些坑
缓存会加速二次扫描,但失效时要会清。首次扫描后结果会写入缓存文件(.bin二进制与可选.json),位于系统配置目录:Linux 为~/.config/与~/.cache/下的项目目录,Windows 为AppData\Roaming,macOS 为~/Library(路径逻辑见 czkawka_core/src/common/config_cache_path.rs)。扫描同一批文件时第二次会明显更快;怀疑结果异常时,删掉缓存文件重新扫即可,也可用环境变量CZKAWKA_CACHE_PATH把缓存挪到别的盘。
匹配模式按文件类型选,容忍度从严起步。完全相同的文件用重复文件工具的内容哈希,误判率最低;相似图片与视频先选严格档,确认召回不足再逐档放宽,避免把"同一场景的不同照片"合并掉。
删之前用参考路径兜底。把确定要保留原始文件的目录设为只读参考路径,工具在分组时倾向保留参考路径中的副本,删除建议只作用于其他目录的重复项。这一步能避免"留了副本、删了原件"的常见失误。
💬 你可能还想知道
硬链接和符号链接删起来有什么区别?硬链接让两个路径指向同一份磁盘数据,删掉任意一个名字数据仍在,适合"留名不留副本";它不能跨分区,也不额外省空间。符号链接只是快捷方式,删除链接不影响原文件,但原文件移动或删除后链接会失效,用于清理前先想好原文件的生命周期。
缓存文件在哪、怎么清?见上文路径说明;清空就是删除对应目录里的缓存文件,下次扫描自动重建。想彻底重置行为,再删配置目录即可,设置会回到默认。
和手动整理相比,时间省在哪?省在哈希计算与多媒体解码这两块 CPU 密集工作上——它们被多线程并行化,且二次扫描命中缓存后接近秒级。另外手动比对很难处理"分辨率不同但同内容"的视频,而视觉哈希与音频指纹正是为此设计的。
Czkawka/Krokiet 把"找出来、确认、处置"三步收敛进一个免费开源的本地工具,清理过程全程离线、数据不出机器。建议先拿一个 10GB 左右的文件夹完整跑一遍重复文件扫描,感受分组、预览与删除流程,再逐步扩大到全盘。
【免费下载链接】czkawkaMulti functional app to find duplicates, empty folders, similar images etc.项目地址: https://gitcode.com/GitHub_Trending/cz/czkawka
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考