当前位置: 首页 > news >正文

我把50G重复文件一次清空:这款Rust开源清理工具实测笔记

我把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_finalv2_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 代码,多线程和内存安全有语言层面保障,崩溃和误删的概率被压到很低。

行动清单:现在就能做的事

最后给你一份可以直接照着做的清单:

  1. 先挑一个不重要的测试文件夹,跑一遍"重复文件"扫描,熟悉预览和删除流程;
  2. 重要文件动手前先备份,扫描时善用"参考路径"给重要目录上保险;
  3. 删除前务必预览内容,确认是垃圾再动手;
  4. 养成习惯:每月固定清理一次,配合缓存加速,后面每次只要几分钟。

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),仅供参考

http://www.cnnetsun.cn/news/4102525.html

相关文章:

  • 从2019年德系54款新车规划,解码车企战略制定与产品布局逻辑
  • 多模型智能体系统成本与延迟优化:结构化路由的运行时负担分配方法论
  • 福田拓陆者E7皮卡试驾:从工具到伙伴的细节进化
  • RTOS诊断与错误检查:从内核监控到UDS实战的嵌入式系统可靠性保障
  • AI+VBA自动化:从非结构化文本到Excel结构化数据录入
  • 样式动画与布局的维护方法
  • Feetech STS3215总线舵机配置指南:从硬件连接到多机协同控制
  • 【2027最新】基于SpringBoot+Vue的房屋交易平台管理系统源码+MyBatis+MySQL
  • 数字游民工具接口怎样约定才少返工
  • 老游戏兼容优化避坑指南:DDrawCompat 从零到进阶
  • 宝可梦 Switch 改版入门:pkNX 编辑器怎么用?8 个新手问题一次讲清
  • LTX-2.5提示词工程:10个实用技巧让AI视频质量翻倍
  • 比亚迪纯电动双层大巴交付生物科技巨头:高端制造如何跨界赋能未来出行
  • 网页视频下载插件不会选?十分钟装好 Video Download Helper,隐藏视频地址一网打尽
  • Figma 界面全是英文?四千多条人工校验词条,一个 FigmaCN 插件让整页菜单变中文
  • 四开关Buck-Boost开关电源设计实战:从原理到PCB布局与调试
  • IceWM 主题美化全攻略:从安装切换主题到 DIY 打造专属桌面风格
  • BSR排名查询与监控工具有哪些?四大类工具全面盘点
  • Nimbus 实验 SDK 全解析:如何用 Firefox Application Services 快速上线 A/B 实验
  • 微服务框架选型,别只看功能清单
  • 计算机毕业设计之基于Python的电商比价系统的设计与实现
  • Hangfire.HttpJob 日志与进度条可视化实战:任务执行过程在Dashboard上一览无余
  • Wand高级功能免费解锁,三步快速上手
  • 2026廊坊危房鉴定检测怎么选?老旧房危房鉴定靠谱机构 TOP 结构安全检测+ 报告可查 电话汇总
  • budgetzero测试体系解析:Jest单元测试与Cypress E2E实战
  • RISC-V Arduino Uno开发实战:CH32V103R与Embeetle IDE全解析
  • 海事铱星卫星电话天价账单解析:技术原理、计费陷阱与开发避坑指南
  • AE动态图形入门:零插件制作专业MG动画全流程实战
  • 云业务环境下凭证窃取攻击机理与分层防御策略研究
  • 生活化智能产品怎样保证工具链可复现