一次扫出14类冗余文件:Czkawka 重复文件检测与磁盘空间回收指南
【免费下载链接】czkawkaMulti functional app to find duplicates, empty folders, similar images etc.项目地址: https://gitcode.com/GitHub_Trending/cz/czkawka
Czkawka 是一款用 Rust 编写的开源工具,能对整个磁盘做重复文件、空文件夹、损坏文件、相似图片等扫描,内置 14 类清理工具。扫描引擎多线程并支持缓存,还能核对 ZIP 等归档格式的内部内容,冗余数据藏在压缩包内外都能被揪出来。
🚀 快速上手:编译一条命令跑起来
官方提供 Windows、macOS、Ubuntu 22.04+ 的预编译版本,装好即用;想从源码构建也很直接:
git clone https://gitcode.com/GitHub_Trending/cz/czkawka cd czkawka cargo build --release当前主力前端是基于 Slint 的 Krokiet(见 krokiet/),喜欢终端的用户可以用 czkawka_cli/ 里的命令行版本,配合计划任务实现定期巡检。
🔍 核心能力拆解
三重校验:按大小、名称与哈希定位真重复
查重逻辑位于 czkawka_core/src/tools/duplicate/ 模块。它不会一上来就对所有文件做全量哈希:先按文件名、大小分组,再读文件头尾做预哈希,疑似重复的才进入完整哈希核对。这套策略让全盘扫描保持速度,也避免两个内容不同的文件被误判成一对。
归档核对:ZIP/JAR 里的文件是否损坏也能查
"Broken Files" 工具不只看扩展名,而是打开文件校验内容完整性。支持的压缩格式在 czkawka_core/src/common/consts.rs 中以常量定义:ZIP_FILES_EXTENSIONS(zip、jar)、TAR_FILES_EXTENSIONS、SEVENZ_FILES_EXTENSIONS等。总开关是broken_files/mod.rs中的CheckedTypes::ARCHIVE,界面上勾选"Archive"选项后,这些文件就进入校验范围,损坏的包不会被当成完好资产。
缓存加速:第二次扫描明显更快
扫描结果会写入缓存,下次启动时duplicate/core.rs里的prehash_load_cache_at_start直接加载已算过的哈希,只对新增和变更的文件重新计算。内容变化不频繁的磁盘,第二轮耗时与首轮差别很大。
📁 典型使用场景
- 摄影作者积累上万张 RAW/JPG,用"相似图片"找出同一素材的不同裁剪版本,删掉冗余副本腾出空间。
- 办公用户把文档存了多份备份,用重复文件检测按组浏览,保留最新版本、归档其余拷贝。
- 系统管理员做每周容量巡检,用 CLI 的
dup子命令定时执行,把结果导出到文本文件留档。
✅ 项目优势
- Rust 内存安全:几乎 100% 无 unsafe 代码,长时间扫描也不易出稳定性事故
- 多线程 + 哈希缓存:大容量硬盘扫描快,重复扫描更快
- 多前端复用一套核心:GTK4、Slint 桌面版、CLI、Android 应用(Cedinia)共享 czkawka_core
- 无网络访问:不联网、不收集统计信息,隐私安全
- 多语言界面:支持中文、英文、波兰语等,跨平台一致体验
装好后选最大的磁盘跑一遍全盘扫描,看到重复文件按组列出的那一刻,你会想把手头所有盘都清一遍。去 gitcode 打开 czkawka 仓库即可开始。
【免费下载链接】czkawkaMulti functional app to find duplicates, empty folders, similar images etc.项目地址: https://gitcode.com/GitHub_Trending/cz/czkawka
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考