我把50G重复文件一次清空:这款Rust开源清理工具实测笔记
【免费下载链接】czkawkaMulti functional app to find duplicates, empty folders, similar images etc.项目地址: https://gitcode.com/GitHub_Trending/cz/czkawka
不知道你有没有过这种经历——手机相册里躺着几十张几乎一样的自拍,下载文件夹里同一个安装包反复出现三四份,工作目录里到处是"最终版(2).zip"式的备份。某天系统提示磁盘已满,你打开硬盘一看,密密麻麻全是舍不得删又不知道能不能删的文件。
今天要分享的主角叫Czkawka,一个用 Rust 写成的免费开源文件清理工具,专门解决上面这些"文件堆积"的烦恼。它能一键找出重复文件、相似图片、空文件夹、大文件、损坏文件等十几类"垃圾",覆盖 Windows、macOS、Linux 和 Android 四个平台。没有广告、不联网、不上传任何数据,扫完之后该删什么、该留什么,心里瞬间有底。
它是谁:一张工具名片
先给不了解的朋友做个介绍。Czkawka 整个项目由几部分组成:
- 核心引擎
czkawka_core:所有扫描逻辑都在这层实现,采用模块化设计,每个功能对应独立模块; - Krokiet 桌面版:基于 Slint 框架打造的新一代界面,跨平台一致性好,是目前主推的 GUI;
- Cedinia 安卓版:为手机触屏优化的界面,日常清理手机存储够用;
- czkawka_cli 命令行版:适合脚本自动化,后面会细说。
值得一提的是,老版的 GTK 4 界面(Czkawka GUI)已经停止更新,12.0 是它的最后一版,官方建议新老用户都转向 Krokiet。项目本体完全开源,代码可以逐行审查,这一点放在最后专门讲。
从下载到出结果:我的上手动线
我实际体验下来的完整流程大概是这样的,第一次用照着走就行:
第一步,装好它。三个平台各有一行命令:
- Windows 用户可以用
winget install Czkawka,或者去 Releases 页面下免安装版; - macOS 用户直接
brew install czkawka; - Linux 用户走包管理器,也可以
flatpak install flathub com.github.qarmin.czkawka。
第二步,挑功能。打开界面后先想清楚"我要解决什么":清重复文件选"Duplicates",整理照片选"Similar Images",扫垃圾选"Temporary Files"。
第三步,圈定扫描范围。点"添加目录",可以一次性加多个文件夹,工具会同时扫。注意旁边有个"参考路径"选项——被勾成参考的目录只用于比对、不会被自动删除或移动,这个设计对"拿备份当基准、清理工作区"的场景特别友好,我后面一直在用。
第四步,设置参数再开扫。最小文件大小、要不要排除某些格式、图片相似度阈值,这些都可以在开始前调好。点下"扫描"按钮,剩下的交给它。第一次扫描会慢一些,因为它要把文件的哈希值算一遍;但结果会存进缓存,第二次扫同样目录时速度能提升好几倍,官方说法是最多快5倍。
第五步,处理结果。扫描完会在界面上分组列出重复项,每个文件都能预览确认。确认无误后可以勾选删除、移动,或者创建硬链接来省空间。
它的看家本领:四类拿手活
Czkawka 的十几项工具,我觉得可以分成四类来记:
第一类:把"重复"找干净。重复文件查找是它的核心武器,支持三种匹配方式——按文件名、按文件大小、按内容哈希。前两种是快速筛选,哈希匹配会逐字节算内容指纹,可以做到100%准确,连改了名字的文件都能认出来。
第二类:把"相似"认出来。图片和视频都能做相似度分析。同一张照片的不同分辨率版本、加了水印的图、轻微调过色甚至旋转过的版本,都能被识别成一组。相似视频的识别则是基于画面帧和音频双通道做的,遇到剪辑过的重复片段也能揪出来。
第三类:懂格式、懂内容。音乐去重有两种思路:按标签比对(艺术家、专辑、曲名等元数据),或者直接分析音频内容找"听起来差不多"的歌。视频优化工具还能裁剪掉视频里的静态画面、转成更高效的编码格式来缩小体积。此外它还能识别"文件内容和扩展名不符"的坏文件(比如把图片改成 .doc 后缀)、以及名字里带乱码或特殊字符的文件。
第四类:帮系统"减负"。空文件、空文件夹、临时文件、大文件排名、失效的符号链接、损坏文件检测,这些系统清理杂活它全都包了。另外还有个 Exif 移除器,可以把图片里的拍摄位置、设备型号等隐私元数据抹掉,发图前过一遍很有安全感。
那些让人头疼的场景,它都接得住
场景一:旅行回来,照片成灾。一趟出行拍几百上千张,里面一半是连拍、误触和"差不多的那张"。用"相似图片"功能扫一遍相册目录,把相似度调到85%以上,一组组对比,每组留一张最好的,剩下的删掉。亲测一趟旅行的照片能从800张瘦身到400张出头。
场景二:工作资料越攒越乱。项目文件夹里散落着大量v1_final、v2_final2这种备份文件,还有一堆.tmp临时文件。用重复文件查找加临时文件清理两个功能各跑一轮,配合"参考路径"保护原始文件,只删重复副本,几十分钟就能把目录收拾利索。
场景三:手机存储告急。安卓手机上装 Cedinia,界面针对触屏做了优化,扫描、预览、删除全在一个手指的范围内。重复照片和下载文件清一清,通常能腾出好几个 G。
场景四:老电脑跑不动了。先把大文件排名拉出来看看谁最占地方,再扫一遍临时文件和重复文件,删掉之后磁盘占用率肉眼可见地降下来。工具本身内存占用通常在50MB上下,扫文件的同时开别的应用也不会卡。
玩得更深:规则、脚本与调优
用熟基本功能之后,可以试试下面几件事。
自定义规则。除了界面里能调的最小文件大小、排除路径,它还支持按 glob 通配符做排除项,比如*/.git或*/tmp*这种写法,可以把一堆目录里的同类文件精确过滤掉。高级搜索还支持按修改时间、文件大小范围做筛选,比如"只看最近30天大于10MB的文件"。
命令行自动化。czkawka_cli 可以塞进定时任务或 shell 脚本里,实现"无人值守清理"。几个常用的姿势:
# 扫描重复文件并直接把多余的删掉(保留最新一份) czkawka-cli duplicate -d ~/Downloads --delete # 列出指定目录下的空文件夹 czkawka-cli empty-folders -d ~/Documents # 按85%相似度找相似图片 czkawka-cli similar-images -d ~/Pictures --similarity 85每个子命令都有--help可以查参数,删除策略还支持"保留最大""保留最新""全部删除"等多种模式,脚本里可以按需选择。
性能调优。如果你的机器核心多,可以在设置里把线程数调到 CPU 核心数的1.5倍左右,扫描速度会有明显提升。配合排除列表把系统文件夹、网络盘过滤掉,能少扫很多无用文件。要是缓存文件积累得太大拖慢了启动,找到~/.cache/czkawka/下的缓存文件清掉重扫就行。实际跑下来,10万文件级别的目录几分钟能扫完,比同类工具快3-5倍并不夸张。
为什么敢放心把文件交给它
清理文件最怕的不是删错,是工具本身不可信。这一点 Czkawka 做得相当彻底:
- 完全离线。程序没有联网能力,所有分析都在本地完成,不存在"上传你的文件列表"这种操作;
- 不收集任何数据。没有遥测、没有统计、没有广告 SDK,开发者明确承诺不采集用户信息;
- 开源可审查。全部源码开放,社区持续维护,任何有疑虑的人都可自己翻代码验证;
- Rust 带来的底气。项目几乎不用 unsafe 代码,多线程和内存安全有语言层面保障,崩溃和误删的概率被压到很低。
行动清单:现在就能做的事
最后给你一份可以直接照着做的清单:
- 先挑一个不重要的测试文件夹,跑一遍"重复文件"扫描,熟悉预览和删除流程;
- 重要文件动手前先备份,扫描时善用"参考路径"给重要目录上保险;
- 删除前务必预览内容,确认是垃圾再动手;
- 养成习惯:每月固定清理一次,配合缓存加速,后面每次只要几分钟。
Czkawka 用下来给我的感觉是:不折腾、不花哨,但每一分力气都花在"把存储空间还给你"这件事上。既然有免费、开源、安全的现成工具,就别再让硬盘被重复文件白白占着了——今晚就打开它,给你的电脑做一次深度清理吧。想研究源码或自行编译的读者,核心功能模块在czkawka_core/src/tools/目录下按工具分门别类,命令行实现可参考czkawka_cli/src/commands.rs,各前端详细文档见instructions/目录。
【免费下载链接】czkawkaMulti functional app to find duplicates, empty folders, similar images etc.项目地址: https://gitcode.com/GitHub_Trending/cz/czkawka
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考