为什么硬盘越来越小:Czkawka 免费重复文件清理工具完整指南
【免费下载链接】czkawkaMulti functional app to find duplicates, empty folders, similar images etc.项目地址: https://gitcode.com/GitHub_Trending/cz/czkawka
硬盘的"剩余空间"是什么时候开始不够用的?512GB 的手机被几百张照片塞满,2TB 的资料盘里"重复"两个字能搜出一堆。很多时候空间不是被用掉的,是被浪费掉的:完全相同的副本、几乎一样的截图、层层叠叠的空文件夹,都在安静地吃掉容量。Czkawka 是一个免费、开源、完全离线的重复文件清理工具,用 Rust 编写,Windows、macOS、Linux 乃至 Android 都能用,所有扫描在本机完成。
能力全景:它一次能解决哪几类问题
Czkawka 的扫描逻辑集中在 czkawka_core 这个核心库里,14 种扫描能力大致可以归成四类,先看看有没有你需要的:
- 完全重复:逐字节比对文件内容(默认用 Blake3 哈希),同名不同内容的文件不会被误分到一组。这是主力工具,也是"重复文件清理"四个字的本义。
- 相似媒体:图片、视频、音乐三个方向。加过水印的照片、抽过帧的录屏、同一首歌的两个版本,都属于这一类——原理在按场景拆解一节细说。
- 杂项垃圾:空文件夹、空文件、临时文件、损坏文件、失效的符号链接、"扩展名和内容对不上"(比如 .jpg 其实是个 zip)、不合规范的文件名。单项都不大,攒起来经常是几个 GB。
- 内容修正与大文件:EXIF 标签清理(顺便也是隐私清理)、视频压缩/裁剪优化,外加一个找最大文件的扫描,方便先定位空间大头。
最短路径上手:装完就能扫
新手只需要记住一件事:装当前主推的图形界面Krokiet。它就是一个自包含的可执行文件,不用装运行时,不用安装器,三个平台体验一致。
- 从官方发布页下载对应系统的预编译版(Windows 10+、macOS 10.15+、Ubuntu 22.04+);
- Linux 或 macOS 上先赋予执行权限再启动,Windows 直接双击 exe:
chmod +x mac_krokiet_arm64 # 给文件加执行权限 ./mac_krokiet_arm64 # 直接启动- macOS 首次运行若提示"无法验证开发者",右键文件选"打开"再确认一次即可。
唯一的前置条件:想扫"相似视频"需要先装 ffmpeg(sudo apt install ffmpeg,macOS 用 brew,Windows 把 ffmpeg.exe 放到程序同目录),其余功能开箱即用。
第一次扫描重复文件,按这个顺序走就行:
- 左侧面板选Duplicate Files;
- 把要扫的位置加入 Included Paths,系统目录、备份、网络磁盘放进 Excluded Paths——回收站在默认排除列表里,不用手动加;
- 设置里有个"最小文件大小",默认跳过 16KB 以下的小文件,免得结果被一堆小文件淹掉(想找小文件重复时再调低它);
- 备份目录旁勾上Ref,它就变成"只参考"——参与比对但任何操作都不会动它;
- 点扫描。默认就是内容哈希模式,逐字节级比对;
- 结果按组展示,在 Select 弹窗里选"保留最新、其余选中",先移入回收站,确认无误再清空。
第二次扫同一批目录会快很多:哈希结果有缓存,重扫直接命中。缓存里只存哈希、大小这类元数据,不存文件内容。
顺带说明:老 GTK 界面(12.0)已停止新功能开发,新装不必选它;手机上可以装实验版 Cedinia,直接扫相册和下载目录。
按场景拆解:照片、视频、音乐各自的判法
照片重复怎么判
原理是感知哈希——把图片压成一段短的"视觉指纹",长得越像,指纹越接近。所以换了分辨率、加了水印、裁剪过、旋转过、JPEG 反复压缩过的照片,都能归进同一组。
用法上主要调两个参数:阈值 max difference 控制"多像才算一组",默认值下误判多就往 4~5 调,漏报多再调高;勾上 Geometric invariance 后,镜像、翻转的副本也能抓到。每组留下分辨率最高的一张即可。
视频相似靠什么比 🎬
视频没法逐字节比。Czkawka 从每段视频里抽帧再比对画面,也能切到音频指纹模式——只比声音不比画面,适合"同一个源、不同压缩版本"的录像。需要预装 ffmpeg。
音乐重复怎么判
两种模式:按标签比(艺术家、专辑、曲名),或按音频内容比(波形层面,同一首歌不同音源也能对上)。曲库大的人建议先跑标签模式,再用内容模式补漏。
杂项垃圾藏在哪
空文件夹、临时文件、损坏文件、失效符号链接、扩展名和内容不符的文件——这些单项扫描跑起来很快,攒起来往往好几个 GB,值得在清完重复文件后顺手跑一遍。
让它自动跑:CLI 与定时任务
图形界面背后那套扫描逻辑,命令行版czkawka_cli全部共享:dup(重复)、empty-folders(空文件夹)、big(大文件)、temp(临时文件)、image(相似图片)、video(相似视频)、music(音乐)、broken(损坏文件)、ext(扩展名)等子命令一一对应,每个都带--help。
把几条常用命令放在一起看,注释里是各参数在干什么:
# 找重复文件:-d 指定要扫的目录;-D AEN 表示保留最新、删除其余;-Q 是演练模式,只打印不删 czkawka_cli dup -d ~/Documents -D AEN -Q # 演练结果没问题后,去掉 -Q 加 -y:删掉的先进回收站,而不是直接删 czkawka_cli dup -d ~/Documents -D AEN -y # 找空文件夹并写进文件(-f 输出到文本而不是屏幕,方便喂给脚本处理) czkawka_cli empty-folders -d ~/Documents -f empty.txt # 找主目录下最大的 20 个文件(-n 控制列出多少个) czkawka_cli big -d ~ -n 20进阶提示:退出码 11 表示"有发现",0 表示"干净",方便在计划任务里接if判断;注意 CLI 不会自动套用图形界面那套默认排除规则,需要自己加,-E DEFAULT即图形界面同款规则。
边界与安全:它不做什么,要注意什么
把"删文件工具"的安全问题拆开看,其实就三层:
它不做什么。翻一遍依赖清单(Cargo.lock),没有任何网络、HTTP、统计类库——没有更新检查、没有遥测、没有广告,代码里根本不存在联网的路径。Rust 编写、几乎无 unsafe 代码、多线程并行扫描,内存占用小。它删文件完全靠你确认,没有任何自动执行删除的隐藏行为。
它依赖什么。最关键的变量是匹配方式:按内容哈希(默认)最稳妥;按名字或大小匹配虽快,但会把同名不同内容的文件归到一组,容易误删,非必要别用。删之前先把系统目录、备份、网络磁盘排除掉,又快又安全。
它做不到什么。硬链接(一份文件挂多个名字、只占一份空间)只在同一磁盘内有效,跨盘会直接报错,跨盘场景请改用移动。默认跳过的小文件(图形界面 16KB、命令行重复文件 8KB)需要手动调低阈值才能扫到。
横向怎么选:和同类工具的差别
| 对比维度 | Czkawka(Krokiet) | DupeGuru |
|---|---|---|
| 实现与速度 | Rust,多线程并行扫描 | Python,大目录上偏慢 |
| 媒体比对深度 | 图片感知哈希 + 视频抽帧/音频指纹 | 相似图片 + 音乐标签,无视频 |
| 联网行为 | 完全离线,零遥测 | 离线 |
| 工具面 | 14 类扫描,覆盖垃圾文件与内容修正 | 以重复文件为主 |
| 维护节奏 | 活跃开发中,12.0 为最新大版本 | 更新缓慢 |
两者都离线、都免费,真正的分水岭是媒体比对的深度和项目活跃度——如果你只清文档类的重复,DupeGuru 够用;照片视频多的库,Czkawka 覆盖面明显更宽。
建议从哪个目录开始
先拿下载目录清一遍:文件杂、重复多、删错代价低,跑完一轮你会有"删得放心"的感觉,再把整个资料盘加进来。更多参数与原理细节,仓库内官方文档和 FAQ 有完整说明,扫描逻辑的实现都在 czkawka_core/ 里,欢迎对照阅读。
【免费下载链接】czkawkaMulti functional app to find duplicates, empty folders, similar images etc.项目地址: https://gitcode.com/GitHub_Trending/cz/czkawka
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考