为什么磁盘总是不够用:Czkawka 的 14 个文件清理工具与三个版本上手指南
2026/9/14 12:41:50 网站建设 项目流程

为什么磁盘总是不够用:Czkawka 的 14 个文件清理工具与三个版本上手指南

【免费下载链接】czkawkaMulti functional app to find duplicates, empty folders, similar images etc.项目地址: https://gitcode.com/GitHub_Trending/cz/czkawka

下载文件夹又爆了,可你不敢删——不确定哪个文件还有用、哪份是重复的、哪张图只是"看起来差不多"。Czkawka 是一套用 Rust 编写的免费开源文件清理工具:重复文件、相似图片、相似视频、空文件夹等 14 个清理工具,配 3 个图形界面加一个终端版。同一套核心,不同入口,清理硬盘不再依赖付费软件。

🗺️ 全景速览:四个入口,一张表选对版本

维度KrokietCzkawka (GTK)CediniaCzkawka CLI
目标平台Windows / Linux / macOSWindows / Linux / macOSAndroidWindows / Linux / macOS
界面框架Slint(现代 Rust UI 框架)GTK4(传统桌面框架)Slint(触摸优化)终端
功能范围全部 14 个工具,含 Exif 清理、视频压缩多数工具,无 Exif 清理、视频压缩基础集,无相似视频帧比对、损坏文件检测全部 14 个工具
上手难度简单,装完即用中等,需 GTK 运行环境需 Android 开发环境或自行安装中等,命令行操作
推荐人群大多数桌面用户GTK 用户、习惯旧界面者手机用户脚本与定时任务场景
当前状态活跃开发中12.0 为最终版,进入维护实验性开发随仓库持续更新

怎么选:桌面用户直接选 Krokiet,它是官方主推的新一代界面;已经熟悉老版 GTK 界面的可以留在 Czkawka 12.0,但不会有新二进制了;手机上用 Cedinia;要写脚本、挂定时任务的用 CLI。四个入口共享同一个核心库 czkawka_core,所以任何一个版本里调好的参数思路,换到另一个版本同样成立。

🧩 能力地图:从"找重复"到"清垃圾"

重复文件查找:按文件名、大小、哈希三级过滤

这个能力帮你解决"同一份文件存了三份,占着三倍空间"的问题。

参数推荐值适用场景
匹配模式hash精确模式确认内容 100% 相同才删
最小/最大文件大小如最小 1MB跳过几十字节的小文件,省时间
排除目录加入版本控制目录避免误伤 .git 等缓存副本

匹配模式来自核心里的枚举定义(czkawka_core/src/common/model.rs):Name(仅同名)、SizeNameSize(同大小)、Hash(内容哈希,最严格)。用哈希模式慢但可靠;只想快速圈出"疑似重复"时用大小+名字模式先过一遍。内容完全一样的文件用它;"同系列但内容有差异"的文件别指望它,那是相似图片/视频的活。

相似图片识别:分辨率不同、加了水印也能认出

拍同一场景的两张图、原图和加了水印的图,哈希值完全不同,只有视觉比对才能抓到。

参数推荐值适用场景
容忍度(差异值)从默认值起步,漏检就调高找"不同分辨率/加水印"的同类图
几何不变性匹配开启旋转、缩放过的图片
文件类型过滤只扫图片后缀加快扫描速度

几何不变性选项在 czkawka_core/src/tools/similar_images/ 中实现。容忍度是这里唯一需要"手感"的参数:调太高会把不相关的图混进来,调太低则漏掉真相似的。照片库整理用它;对精度要求极高的备份比对请只用重复文件哈希模式。

相似视频查重:影视库和素材库的大头

同一个电影从不同来源下载,码率不同、时长差几秒,内容却一样。视频比对是 14 个工具里最重的一个,也最值得跑。

参数默认/推荐值说明
相似度容忍度0–20,先用中间值越大越宽松,默认偏保守
视频哈希时长10 秒截取多少秒内容参与比对
时长差异容忍20%两视频时长差多少以内仍可比
裁剪检测默认开启自动识别黑边裁剪,提高准确率
音频相似度80%音轨也相同的概率阈值

以上默认值定义在 czkawka_core/src/tools/similar_videos/mod.rs。注意:这个工具依赖 ffmpeg,没装的话视频功能无法工作,装法见下文排障一节。素材库大、视频多的时候用它;只有一两个视频的话收益不大,直接手动比对更快。

垃圾与坏文件清理:一揽子小工具

有些空间不是被大文件占的,而是被成千上万个小垃圾占的。核心库在 czkawka_core/src/tools/ 下为每个工具单独建目录,常用的几个:

工具抓什么什么时候用
空文件夹连空子目录树一起找全项目收尾后清残留目录
临时文件.tmp.bak.crdownload等(默认清单可扩展)长期没整理过的磁盘
损坏文件无法打开的损坏文件下载目录、离线视频
无效符号链接指向不存在目标的链接Linux/macOS 用户
错误扩展名内容类型和扩展名不符的文件从老设备拷来的杂文件

这类工具扫描快、结果直观,适合第一轮"无脑清理"。注意:损坏文件判定有置信度,删除前务必抽查几个确认。

同名音乐查找:按标签还是按内容,两种模式

MP3 库里同名歌存了五六份?同一首歌可以按标签(歌手/专辑/标题)比对,也可以按音频内容比对(换过标签的也能认出)。内容比对更慢但更可靠,标签比对适合快速过一遍。音乐库不大时两种各跑一次,互相验证。

🚀 上手路径:从零到第一次清理

快速通道:5 分钟跑通第一次

  1. 安装 Krokiet(提供安装包与免安装的绿色版本),直接启动。
  2. 选择"重复文件"工具,扫描目录只选一个文件夹,比如"下载"。
  3. 点击扫描,等结果出来。小目录通常几分钟内完成。
  4. 点开分组,用预览确认两份文件确实相同。
  5. 执行删除或移动到指定目录,记下释放的空间。

深度通道:参数、排除与分层扫描

  1. 建立排除规则:把.git、缓存、虚拟机镜像等目录加入排除,避免每次重扫无意义内容。
  2. 分层扫描:第一轮用"大小"模式快速圈出疑似重复(1–5 分钟级);第二轮对圈出的分组用哈希确认(精确但慢);第三轮对图片目录单独跑相似图片。逐层收窄,别一上来就全盘哈希。
  3. 调视频参数:确认 ffmpeg 已安装,把相似度容忍度从中间值起步,跑完看误报情况再调。
  4. CLI 输出结果文件:用-f参数把结果写到文本文件,方便后续脚本处理。
  5. 想编译自己:仓库需要 Rust 环境,克隆地址https://gitcode.com/GitHub_Trending/cz/czkawka,按 krokiet/README.md 与 czkawka_cli/README.md 里的说明构建对应前端。

⚡ 调优与排障

线程数怎么设

CLI 提供线程数参数,0表示使用全部核心,设小数值可降低 CPU 占用(各工具--help里可查)。参考:

CPU 规模建议理由
4 核及以下用满(0)机器负担得起
6–8 核留 1–2 核边扫边办公不卡
8 核以上约 75%留余量给系统和其他程序

大文件多的目录建议同时设最大文件大小上限,让哈希只处理值得处理的文件;相似视频并发分析本身就吃资源,别和其他重任务抢机器。

缓存:第二次扫描明显更快

首次扫描会建立文件索引并缓存,README 明确说明"第二次及以后的扫描应比第一次快得多"。缓存目录位置可用环境变量CZKAWKA_CACHE_PATH自定义,默认在系统缓存区(Linux 下为~/.cache/czkawka体系下)。同一目录反复整理时收益最大。

三个高频故障:现象 → 检查 → 解决

  1. 界面像卡死了现象:进度长时间不动,窗口无响应。 检查:任务管理器确认进程还活着;日志会写到缓存目录下的{应用名}.log(见 czkawka_core/src/common/logger.rs),单个超大文件处理超时会有告警记录。 解决:降低线程数或把目录拆开分批扫;扫描本身是后台多线程的,界面短暂无响应不等于程序死了,别急着强杀。

  2. 相似视频报错或结果缺失现象:视频工具起不来,或报错提示找不到 ffmpeg。 检查:终端执行ffmpeg -version确认已安装且在 PATH 中。 解决:Linux 用apt install ffmpeg,macOS 用brew install ffmpeg,Windows 用choco install ffmpeg(依赖说明见 czkawka_cli/README.md)。

  3. 网络盘扫描慢到怀疑人生现象:扫 NAS 共享路径速度只有本地盘的零头。 检查:确认瓶颈在网络上而非软件——本地扫一个同体量目录对比耗时。 解决:把 CLI 部署到存储服务器本机跑,结果文件再拷回来分析,这是最省事的方案。

🎬 场景剧本

如果你是一名影视收藏者

背景:500GB 影视库,同一部剧从不同源下载过多次,码率版本混杂。 痛点:肉眼分不清哪些是"真重复",哪些是不同清晰度版本。 操作流:

  1. 装好 ffmpeg,运行相似视频工具,扫描目录指向影视库。
  2. 容忍度用默认起步,裁剪检测保持开启。
  3. 对每组结果点开缩略图网格确认(工具会生成视频缩略图网格辅助判断)。
  4. 保留最高码率版本,其余删除。 成果:一轮扫描就能把跨来源的重复副本集中出来,省掉逐个比对的时间;对"同名不同内容"的伪重复,容忍度不会误判成同一部,放心。

如果你是一名多年未整理的办公用户

背景:工作盘 1TB,文档、表格、临时备份混了四年。 痛点:空间告急,但完全不知道被什么占了。 操作流:

  1. 先跑"大文件"工具,按大小排序看 Top 50,定位空间大头。
  2. 对文档目录跑重复文件(哈希模式),同版本文档留最新一份。
  3. 跑临时文件和空文件夹工具,清掉.bak.tmp和废弃的项目目录。
  4. 结果全部先"移动"到回收类目录,一周确认无误再彻底删。 成果:小垃圾工具清出的往往不是几个 GB,而是"再也找不到主人"的几百个文件;配合大文件排序,半小时能理清空间去哪了。

如果你是一名摄影师

背景:2TB 素材库,同一场景常拍多张,后期还会导出加水印的副本。 痛点:原图、导出图、手机回传图三份并存,占着大量空间。 操作流:

  1. 相似图片工具开启几何不变性,容忍度从默认开始。
  2. 对误报偏多的组单独调低容忍度复查。
  3. 保留 RAW/原始格式,删除同源的低分辨率导出。
  4. 水印版本与原版被识别为相似组后,手动确认保留水印版(对外发布用)。 成果:相似图片正是为"不是同一文件但内容是同一张"设计的,容忍度手感跑两三次就稳了。

🔧 进阶与集成

自动化脚本(以 CLI 为例,结果输出到文件):

#!/bin/bash # 每周清理扫描:找重复文件 + 空文件夹 czkawka_cli dup -d ~/Downloads -f ~/reports/dup.txt czkawka_cli empty-folders -d ~/Downloads -f ~/reports/empty.txt if [ -s ~/reports/dup.txt ]; then echo "下载目录发现重复文件,请查看 ~/reports/dup.txt" fi

三个集成方向,点到即止:

  • 定时任务:把上面的脚本挂进 crontab,每周跑一次并检查报告。
  • CI/CD 与开发者机器:构建后清node_modules副本和编译产物,用大文件+临时文件两个工具即可。
  • NAS/文件服务器:在存储侧本机跑 CLI,生成报告文件供管理人员查看,避免占用网络带宽。

🏗️ 技术底座

czkawka/ ├── czkawka_core/ # 核心算法库:14 个清理工具 + 缓存/进度/多线程公共模块 │ └── src/ │ ├── tools/ # duplicate、similar_images、similar_videos 等,一工具一目录 │ └── common/ # 缓存、文件操作、删除、进度数据 ├── krokiet/ # 新一代 Slint 图形界面(主推) ├── czkawka_gui/ # 经典 GTK4 界面(12.0 为最终版) ├── czkawka_cli/ # 终端版,供脚本与定时任务调用 ├── cedinia/ # Android 移动端界面 └── instructions/ # 使用说明与翻译文档

技术栈的四个实打实的优势:

  • 几乎 100% 无 unsafe 的 Rust 编写,内存安全由语言保证。
  • 多线程 + 高效算法,官方定位就是"快"(扫描速度是它的主打卖点)。
  • 无网络访问、不收集任何用户数据或统计——README 里写明 "No spying"。
  • 单二进制即可运行(CLI 在 Linux 上甚至可做成完全静态链接),多语言支持波兰语、英语、意大利语等。

后续方向上,核心库本身设计为可被其他项目复用(已有 Python 绑定和第三方前端在用),功能扩展会持续落在 Krokiet 上。

✅ 安全清单:按删除键之前,先过这四条红线

  • 备份优先:重要数据没有备份之前,任何清理工具都不该碰它——这条凌驾于所有技巧之上。
  • 预览确认:删除或移动前逐个预览内容,尤其"损坏文件""错误扩展名"这类有判定置信度的工具。
  • 排除规则:把.git、虚拟机镜像、个人关键目录加入永久排除列表,省得每次重设。
  • 从小范围开始:第一次使用只扫一个文件夹,别一上来就全盘;删除优先选"移动到指定目录"而非直接删。

你的第一步:找一个一两百个文件的普通文件夹(比如某个项目目录),用 Krokiet 跑一次重复文件快速扫描,把"扫描 → 预览 → 移动"这个动作完整走一遍。熟悉之后,再放开手脚去清理下载目录和素材库。

免费、开源、无广告、不联网——Czkawka 把清理文件这件事做到足够透明,剩下的就交给你的硬盘了。

【免费下载链接】czkawkaMulti functional app to find duplicates, empty folders, similar images etc.项目地址: https://gitcode.com/GitHub_Trending/cz/czkawka

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

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

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

立即咨询