磁盘快满了?Czkawka 帮你找出重复文件、相似图片和 12 类“隐形占用“
2026/9/3 10:47:46 网站建设 项目流程

磁盘快满了?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+)能直接跑。

要不要装额外依赖?只有两个可选场景需要:

  1. 想用相似视频功能 → 装ffmpeg
  2. 想识别HEIC/AVIF/RAW相机格式 → 用带heif_raw_avif的构建,并装对应的libheif/libavif/libraw

仓库里misc/install_scripts/已经放了install_linux.shinstall_macos.shinstall_windows.bat,能帮你把上面这些依赖一次装好,不用自己查包名。

想从源码构建的话,可以这样拉仓库:

git clone https://gitcode.com/GitHub_Trending/cz/czkawka

第一次扫描,三步就出结果

  1. 选目录:点"添加",挑你要扫描的文件夹(比如下载、文档、图片库)。别一上来就扫整个系统盘。
  2. 挑工具:默认先跑"重复文件"。它按 文件名 / 大小 / 哈希 三种方式判断重复。
  3. 看分组、删多余:结果按组展示,同一组里留一份、删其余即可。

两个新手最容易踩的坑,提前说:

  • 默认会跳过小于 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。它把每个能力都做成子命令:dupempty-foldersbigempty-filestempimagemusicvideobrokenextbad-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 桌面、偏爱 GTKCzkawka 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 是 MITKrokiet 和 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),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询