Czkawka 深度上手:用 Rust 写成的重复文件与相似图片扫描器
【免费下载链接】czkawkaMulti functional app to find duplicates, empty folders, similar images etc.项目地址: https://gitcode.com/GitHub_Trending/cz/czkawka
硬盘越来越满,可重复文件、相似截图、空文件夹这类“隐形占用”手动根本找不全。Czkawka 是一个开源的 Rust 扫描工具,专门找出重复文件、相似图片、零字节文件,并给出删除、移动、硬链接等处理选项。它有桌面端 Krokiet、老 GTK 版 Czkawka、命令行版和安卓版 Cedinia,所有前端共用同一个扫描核心,跑在 Windows、Linux、macOS 上。适合想定期给硬盘减重的普通用户,也适合写脚本做自动化的开发者。
先搞清它是什么:先看见,再动手
一句话:Czkawka 不做“一键清理”,而是把冗余文件按类型分组列出来,删不删的决定权始终在你手里。它不联网、不收集任何统计,下载即用,没有广告和付费墙。适用人群是磁盘常年爆满、又不敢乱删的用户;唯一前提是扫描目录有可读权限,用到视频相关功能时才需要额外装 ffmpeg。
从下载到跑出第一个结果
- 拿二进制。优先从项目官方发布页下载对应系统的预编译包;喜欢自己构建的话执行
git clone https://gitcode.com/GitHub_Trending/cz/czkawka再cargo build --release。 - 选对前端。新用户直接用 Krokiet(Slint 界面);带 GTK 4 的老 Czkawka 12.0 已是最后一个版本,不再出新包。
- 第一次只扫“重复文件”。选一个最有把握的目录,点扫描,结果会按“同名 / 同大小 / 同哈希”分组,每组旁边标着能释放的空间——看到第一组重复截图,就算跑通了。
- (可选)补上 ffmpeg。想用相似视频功能时,Windows 把
ffmpeg.exe放进系统 PATH,Linux 和 macOS 用包管理器装 ffmpeg 即可。
三个最常用功能的实操细节
三重校验如何避免误删
只按文件名或大小匹配,很容易把“恰好同大小的两个不同视频”误判成重复。Czkawka 的做法是分级过滤:先按大小(可加文件名)分组,再对候选文件读取首尾各 4KB 做预哈希,预哈希一致才继续算完整哈希(可选 blake3、xxh3、crc32),全部命中才判定为重复。实际操作里选“哈希”检查方式即可,整套逻辑在 czkawka_core/src/tools/duplicate/。另外硬链接和同 inode 的文件会被自动去重,不会自己和自己打架。
相似图片的阈值,松紧决定命中率
它用感知哈希比较图片,所以分辨率不同、加了水印的截图也能被归到一组。相似度阈值有预设档位可调:调得越严,命中的组越少但越可信;调得越松,容易把“风格相近但内容不同”的图混进来。建议先用默认档扫一遍,看到误判再往严了调。实现入口在 czkawka_core/src/tools/similar_images/。
把 ffmpeg 放对位置
相似视频、视频裁剪和转封装依赖 ffmpeg 在运行时被找到:Windows 下放进 PATH 能搜到的目录,macOS 用brew install ffmpeg最省事。没装 ffmpeg 时这些功能不可用,其余扫描功能完全不受影响。
缓存、配置与备份:几条省时间的事
- 第二次扫描快很多。扫描结果会写进本地缓存(czkawka_core/src/common/cache.rs),文件没变的目录基本秒出结果,可以放心反复扫整个盘。
- 记住配置和缓存的位置。Windows 在
C:\Users\<用户名>\AppData\Roaming\Qarmin\Czkawka,Linux 在~/.config/czkawka;换机器前备份这个文件夹,个性化设置能跟着走。 - 删之前用一个小目录试一遍。第一次使用时,先拿一个几 MB 的测试目录跑完整流程,确认删除、移入回收站的行为符合预期,再扩大范围。
- 不确定就选硬链接。多个位置都想要同一份文件时,硬链接比复制省空间,比直接删除更保守。
Czkawka 的核心价值在于“分组透明、决策留给你”:它把重复、相似和垃圾文件摆到你面前,删不删、怎么删由你定。如果你受够了硬盘告急却不知从何下手,从重复文件扫描开始,十分钟就能看到能释放多少空间。
【免费下载链接】czkawkaMulti functional app to find duplicates, empty folders, similar images etc.项目地址: https://gitcode.com/GitHub_Trending/cz/czkawka
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考