Czkawka 使用指南:免费开源工具 3 步找出重复文件、相似图片与空文件夹
【免费下载链接】czkawkaMulti functional app to find duplicates, empty folders, similar images etc.项目地址: https://gitcode.com/GitHub_Trending/cz/czkawka
你刚整理完下载文件夹,一个月后又多出几十 GB——大头往往是重复拷贝的文件、同一照片的不同版本,还有卸载软件后剩下的空目录。Czkawka 是一个用 Rust 编写的开源文件清理工具,一次扫描就能把这些"隐形占位者"全部列出来。
Czkawka 是什么:Rust 编写的多平台文件清理工具
Czkawka 的核心是一个 Rust 库(czkawka_core/src/tools/),在其上提供四种前端:Krokiet(Slint 界面,目前主推的桌面版)、Czkawka GUI(GTK 4 经典版,12.0 为最终版本)、czkawka_cli(命令行版),以及 Cedinia(Android 触屏版)。项目免费开源,代码几乎不含 unsafe 片段,且完全离线运行——不联网、不收集任何使用数据,扫描什么文件都只在本地进行。
支持平台覆盖 Windows 10/11、macOS、Linux(Ubuntu 22.04+ 等),Android 版可清理手机存储。
值得先试的 5 个功能
相似图片识别:找出"看着像"的照片
这是 Czkawka 最能拉开差距的能力。它用感知哈希比较图像内容,所以分辨率不同、加了水印、压缩重存过的图片都会被归为一组,还可以开启几何不变性来捕捉镜像和旋转 90 度的版本。相册里有上千张相似截图和重复自拍的人,靠这个功能省下的空间最可观。
重复文件查找:按内容而非名字比对
默认使用整文件哈希(Blake3)比对内容,100% 确认是同一个文件,而不是只看文件名或大小碰巧相同。扫描前会自动按"预哈希"(文件头尾各 4KB 的快哈希)排除明显不同的文件,大目录扫得很快。
相似视频检测:连"录屏翻拍"都能找出来
它抽取视频帧建立视觉指纹来比对画面,也能切到音频指纹模式比对声音,所以剪辑过的片段、换码率的同款视频都能被识别。注意这个功能需要单独安装 ffmpeg。
损坏文件检测:别等要用的时候才发现打不开
可检查音频、PDF、压缩包、字体、JSON/XML 等文件是否已损坏或被截断。批量照片导入、归档备份后跑一遍,比日后逐个发现文件打不开要省心得多。
音乐去重:标签和声音双通道
同一首歌常有多份不同码率的拷贝。标签模式按艺术家、标题等元数据匹配;指纹模式则直接分析音频内容,能找到标签缺失但内容相同的文件。
最快上手方法:安装与首次扫描
安装:从官方发布页下载预编译版本,解压即用,无必装依赖。若要用相似视频功能,先装 ffmpeg:
# macOS brew install ffmpeg # Linux sudo apt install ffmpeg首次使用 Krokiet 桌面版,按顺序做这几件事:
- 左侧面板选择工具,例如 Duplicate Files(重复文件)。
- 点操作栏的文件夹图标打开目录面板,把要扫描的文件夹加入 Included Paths;备份目录也加进来,并勾选该行的Ref复选框——参考路径受保护,任何自动操作都不会动它。
- 点Scan开始扫描,状态栏会显示结果数量和耗时。
- 结果分组显示,双击可打开文件确认;不确定时先选Trash(进回收站,可恢复)而不是Delete。
- 想批量操作可用Select弹框里的预设,比如"选除最新文件外的所有重复项"。
偏好终端的话,czkawka_cli 可以直接写进脚本,例如按哈希找重复并排除备份目录:
czkawka_cli dup -d ~/Downloads -e ~/Downloads/backup -s hash实用技巧:让扫描更快、更稳
💡缓存是共享且自动生效的。所有前端共用同一份缓存(Linux 在~/.cache/czkawka/),Krokiet 默认开启预哈希,第二次扫描同一目录会快很多。中途点停止也没关系,已算好的哈希已写入缓存,下次接着受益。
💡用 Ref 保护基准文件夹再删重。删重复文件时最容易误伤的是备份盘。把工作目录和备份目录都加进扫描范围、只给备份打 Ref 标记,然后选"保留参考路径中的文件"类策略,删掉的都是可再生的拷贝。
💡扫移动硬盘时关闭缓存自动清理。设置里有"自动删除过期缓存条目"选项,经常插拔的外置盘建议关掉它,改用手动清理,否则拔盘后缓存条目会被清掉,下次又得全量重算。
横向对比:Czkawka 和同类工具差在哪
对比数据来自仓库 README 的官方对比表:
| 维度 | Czkawka (Krokiet) | DupeGuru | FSlint |
|---|---|---|---|
| 相似图片 | 支持 | 支持 | 不支持 |
| 相似视频 | 支持(视觉+音频) | 不支持 | 不支持 |
| 音乐按内容去重 | 支持 | 不支持 | 不支持 |
| 损坏文件检测 | 支持 | 不支持 | 不支持 |
| 支持平台 | Win/macOS/Linux/Android | Win/macOS/Linux | 仅 Linux |
| 实现语言 | Rust | Python | Python |
| 持续维护中 | 是 | 否(停更) | 否 |
新手开始前的 3 条建议
- 先用小目录试跑一遍:挑一个几百 MB 的文件夹扫重复文件,熟悉"扫描→预览→Trash"的完整流程,再扩大范围。
- 默认走 Trash 而不是 Delete:回收站里的东西随时能捞回来,确认无误再手动清空。
- 损坏文件结果要人工复核:不同格式的检查依赖各自解析库,存在误报可能,删除前逐个打开确认。
更多问题可以直接查仓库内的文档:常见问题见 instructions/FAQ.md,Krokiet 界面逐项说明见 instructions/Instruction_Krokiet.md,命令行参数全集在 instructions/Instruction_CLI.md。想深入某个扫描器的实现,核心代码在 czkawka_core/src/tools/ 下按工具分目录存放。
【免费下载链接】czkawkaMulti functional app to find duplicates, empty folders, similar images etc.项目地址: https://gitcode.com/GitHub_Trending/cz/czkawka
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考