磁盘快满了?Czkawka 帮你找出重复文件、相似图片和 12 类"隐形占用"
【免费下载链接】czkawkaMulti functional app to find duplicates, empty folders, similar images etc.项目地址: https://gitcode.com/GitHub_Trending/cz/czkawka
Czkawka(Krokiet 是它的新界面名)是一款用 Rust 写的开源文件清理与重复文件查找工具。它能扫描你的磁盘,找出重复文件、空文件夹、相似图片、相似视频、大文件等占用空间的内容,并提供命令行版本方便自动化。全程离线运行、不联网、不收集任何数据。
先说痛点:你缺的不是空间,是"看不见的占用"
🖥️ 很多盘"满了",其实不是装不下,而是被一堆看不见的东西占着:
- 同一张图存了三份,下载、微信、网盘各一份。
- 改来改去的草稿:
报告_最终版_真的最终版.docx。 - 空了却留着的一堆文件夹,和几 GB 的大视频没人记得是干嘛的。
手动一个个翻,根本翻不过来。你要的是一个能整盘扫描、按规则分组、一次挑出多余副本的工具——这正是 Czkawka 干的事。它基于 Rust 多线程实现,速度快,且代码几乎 100% 无 unsafe,行为可预期。
为什么可以信它:一个引擎,多个外壳
先分清它的几个名字,别被绕晕:
- Czkawka Core:真正干活的扫描引擎,
czkawka_core这个库。上面说的所有查找能力都在它里面。 - Krokiet:当前推荐的图形界面,用 Slint 框架写成,是单个自包含可执行文件,Win/macOS/Linux 都能直接跑,也是唯一在活跃开发的 GUI。
- Czkawka(GTK 版):老的 GTK4 界面,12.0 是最后一个版本,官方已建议所有人转用 Krokiet。
- czkawka_cli:命令行版,用来写脚本、跑自动化。
- Cedinia:面向 Android 的实验版。
几个能打消顾虑的事实:
- 不联网:依赖列表里没有任何网络库(没有 reqwest、hyper、curl),代码里根本没有能连到互联网的路径。
- 跨平台:Linux、Windows、macOS,以及 FreeBSD,覆盖 x86、ARM、RISC-V。
- 免费无广告,开源可审查。
选一个入口:90% 的人直接用 Krokiet
先做:下载预编译版本;再做:解压运行。Krokiet 就是"一个文件、双击就开",不用装运行时。
- Windows:Win10 及以上,下载对应
.exe直接跑。 - macOS:Intel 和 Apple Silicon 都有,
chmod +x后运行;提示"未知开发者"时右键选打开即可。 - Linux:Ubuntu 22.04 及以上(glibc 2.35+)能直接跑。
要不要装额外依赖?只有两个可选场景需要:
- 想用相似视频功能 → 装
ffmpeg。 - 想识别HEIC/AVIF/RAW相机格式 → 用带
heif_raw_avif的构建,并装对应的libheif/libavif/libraw。
仓库里misc/install_scripts/已经放了install_linux.sh、install_macos.sh、install_windows.bat,能帮你把上面这些依赖一次装好,不用自己查包名。
想从源码构建的话,可以这样拉仓库:
git clone https://gitcode.com/GitHub_Trending/cz/czkawka第一次扫描,三步就出结果
- 选目录:点"添加",挑你要扫描的文件夹(比如下载、文档、图片库)。别一上来就扫整个系统盘。
- 挑工具:默认先跑"重复文件"。它按 文件名 / 大小 / 哈希 三种方式判断重复。
- 看分组、删多余:结果按组展示,同一组里留一份、删其余即可。
两个新手最容易踩的坑,提前说:
- 默认会跳过小于 16 KB 的文件。你的小文件没被找出来,多半是这个原因——去设置里调低"最小文件大小"就行。
- 默认排除项已经覆盖了回收站/Trash,所以扫整个盘也不会把已删的文件算进来。
深挖三个最实用的能力
找重复:两级哈希,快又准
重复文件不是逐字节对比的(那太慢),而是走一条流水线:先按文件大小分组 → 再做一次快速的"预哈希"(只读文件头尾各一小段)→ 最后对幸存者算完整哈希。完整哈希默认用Blake3,快且抗碰撞。因为缓存机制,第二次扫同一批文件会快很多。
它还支持参考文件夹:把你的"主图库/主曲库"设成参考目录,再把"下载"设成普通目录。扫描后只有非参考目录里的副本可以被勾选删除,主目录的文件永远安全——这就是"只删下载里的重复、保住原图"的标准玩法。
找相似图片:不是"一模一样",而是"看起来一样"
📷 它用感知哈希(默认 Mean,可换 Gradient、DoubleGradient 等)来比较像素内容,所以:
- 不同分辨率的同一张图能配对。
- JPEG 和 WebP/PNG内容相同也能归到一组(跨格式比较)。
- 加了水印、边框、轻微调色的也尽量能认出。
默认格式就支持 JPEG、PNG、BMP、TIFF、WebP、TGA 等;HEIC/AVIF 需选对应构建。觉得"误报太多"时,把相似度阈值调低、把哈希位数调大(32 或 64),会更严格。
找相似视频:抽帧 + 感知哈希
这段需要ffmpeg(它自己不打包)。原理是从视频里抽帧、算视觉哈希,再按时间窗口比对,所以它能识别"同一内容的不同编码版本、不同分辨率版本"。注意它是启发式的,最擅长找"重新编码的同一素材",不适合指望它去发现"只是有几幕撞脸"的无关视频。缓存按抽帧参数区分,改了参数要重扫一次。
让第二次扫描快起来的缓存机制
缓存是所有前端共享的(CLI、Krokiet、GTK 读写同一份),Linux 下默认在~/.cache/czkawka/。它只存元数据(哈希、时间戳、大小),不存文件内容——哪怕扫了 150 TB,缓存通常也就几百 MB。
- 别担心把盘撑爆:它装不下那么多。
- 想更干净:界面里有"清除缓存里过期结果",删掉已不存在的文件记录。
- 怀疑结果不对:直接删掉
~/.cache/czkawka/里的缓存文件,下次从零重建,慢一点但能排错。
自动化:把清理写进脚本
如果你要"定时清理 + 输出报告",用czkawka_cli。它把每个能力都做成子命令:dup、empty-folders、big、empty-files、temp、image、music、video、broken、ext、bad-names等。
两个最短的例子,够你起步(--dry-run能先预览、不真删):
# 找重复文件:保留最旧的一份,其余删除(先 dry-run 看看) czkawka_cli dup -d /home/you/Pictures -D AEO --dry-run # 找前 10 个大文件,结果存成 JSON 给脚本用 czkawka_cli big -d /home/you -n 10 -p big.json多目录要用重复的-d标志(-d 目录1 -d 目录2),不要塞在一个参数里用空格隔开。结果可以-f存纯文本、-C存紧凑 JSON、-p存格式化 JSON,方便接进你自己的流程。
选型建议:我该用哪个?
| 你的情况 | 推荐 |
|---|---|
| 普通用户,想用界面 | Krokiet(各平台首选) |
| 已有 Linux 桌面、偏爱 GTK | Czkawka GTK(已停更,12.0 为最后版) |
| 要写脚本 / 定时任务 / 服务器 | czkawka_cli |
| Android 手机里清一清 | Cedinia(实验性,视频工具缺失,因缺 ffmpeg) |
| 想拿来做二次开发 | czkawka_core(Rust 库,可被其它程序复用) |
一句话:不确定就选 Krokiet;要自动化就选 CLI;要集成到别的软件就选 Core。
避坑速查
- 扫不出小文件重复?调低"最小文件大小"(GUI 默认 16 KB)。
- Linux 上窗口全黑/白屏?多半是渲染后端问题,试
SLINT_BACKEND=software krokiet走软件渲染;虚拟机、无显卡的服务器上这常常是唯一办法。 - 相似视频不工作?99% 是没装
ffmpeg,装完重启一次程序。 - 硬链接能跨分区吗?不能,跨设备会直接报错、原文件不动,不会丢数据。
- 删文件删不掉?网络共享(SMB/NFS)上"移入回收站"可能失败,改用"永久删除"。
- 杀毒软件报毒?这是 Rust + LTO 编译的已知误报,可先核 SHA256,再在 Defender 里放行。
参与与许可
想贡献的话,项目最欢迎:提 bug/功能 issue、翻译(用 Crowdin 平台)、以及为各平台做打包(deb/rpm、Chocolatey、Homebrew、Winget)。新 feature 建议先和作者确认方向再动手。
许可是分组件的:Core、CLI、GTK GUI 是 MIT;Krokiet 和 Cedinia 的源码也是 MIT,但打包出来的完整程序因链接了 Slint,按 GPL-3.0 分发;所有图片音频是 CC BY 4.0。
小结:Czkawka 不是"又一个查重工具",而是一个引擎 + 多界面的文件整理系统——重复文件、相似图片、相似视频、大文件、空文件夹、坏文件、错扩展名……12 类以上的"空间占用源"都能扫,而且离线、免费、开源、跑得快。下一步就去下载 Krokiet,挑一个下载文件夹,跑一次重复扫描,你大概率能立刻省下几 GB。
【免费下载链接】czkawkaMulti functional app to find duplicates, empty folders, similar images etc.项目地址: https://gitcode.com/GitHub_Trending/cz/czkawka
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考