Czkawka 完整指南:快速找出重复文件,回收硬盘空间
【免费下载链接】czkawkaMulti functional app to find duplicates, empty folders, similar images etc.项目地址: https://gitcode.com/GitHub_Trending/cz/czkawka
打开你的照片目录,你会发现同一张截图存了三个版本:原图、压缩版、"最终最终版"。Czkawka 重复文件查找能一次性找出这类垃圾——这是一个用 Rust 编写的免费开源工具,无广告、无遥测,Windows、Linux、macOS 上以单个二进制文件直接运行,除了重复文件,它还管相似图片、空文件夹和大文件。
Czkawka 能解决的四类磁盘问题
先别背功能清单,看看你正卡在下面哪种情况:
1. 重复与近似重复在吃掉空间
最常见的空间杀手。重复文件查找有三种粒度可选:按文件名、按文件大小、按内容哈希(默认 Blake3,速度快且碰撞概率极低)。更麻烦的是"近似重复":相似图片查找能识别不同分辨率、带水印、甚至不同格式的同一画面(一张 JPG 和一张 PNG 会被归到一组);相似视频则抽帧计算视觉哈希,专门抓"重新编码"的拷贝。核心算法在 czkawka_core/src/tools/ 下按工具分目录存放,每个工具都有独立的测试。
2. 看不见的垃圾
空文件夹清理采用自底向上逐级向上标记的算法,能找出"子文件夹删空后遗留"的空目录;临时文件清单可编辑(.tmp、.bak、.crdownload等),还能找 0 字节文件、失效的符号链接和无法打开的损坏文件。
3. 隐私与命名问题
EXIF 清理器在你把照片发到网上之前抹掉 GPS 坐标和相机型号;错误扩展名工具对比文件内容的魔数与实际扩展名,揪出"内容是 zip 却叫 .jpg"的文件;错误文件名工具则标记大写扩展名、表情符号、首尾空格这类问题并建议修正后的名字。
4. 扫描效率问题
多线程 + 两段式哈希(先用文件首尾片段的 prehash 快速排除,再对候选文件做完整哈希),大目录扫描通常在几分钟内完成。哈希与缩略图结果会写入磁盘缓存,第二次扫描同一目录只计算新增和变化的文件。
选路上手:普通用户、脚本玩家、开发者各走一条路
- 普通用户:最省事的一条路是下载 Krokiet 预编译版。单个二进制、零运行时依赖,Windows 10/11、macOS、Ubuntu 22.04+ 上解压双击即可运行。注意老的 GTK 版(Czkawka GUI)已在 12.0 停更,新用户直接选 Krokiet。
- 脚本玩家:用
czkawka_cli把扫描写进自动化脚本,结果可输出为文本或 JSON,删除前还能先预览。参数示例:
czkawka_cli dup -d /home/you -D AEO --dry-run # 预览:保留最旧一份,其余列出但不删 czkawka_cli dup -d /home/you -D AEO # 确认无误后真实执行完整参数见 czkawka_cli/README.md。
- 开发者:想在自己的应用里嵌入重复文件检测,直接依赖
czkawka_core库,集成说明在 instructions/Instruction_Core.md;想从源码装 Krokiet,执行cargo install krokiet --locked。
场景实操:照片库里找出相似图片,只删多余的
走一遍最高频的"清理照片库"流程。
准备:启动 Krokiet,把照片目录加入"Included paths"。如果你有一份整理好的备份目录,把它也加进来并勾选 Ref(参考)——参考路径只参与对比、永远不会被删除,这是你的保命设置。
操作:左侧选择相似图片工具。参数保持默认(Mean 哈希、尺寸 16、最大差异 10)先点扫描。结果里每一组都是"看起来几乎一样"的图片,右侧预览面板可以逐对查看差异。确认无误后,用 Select 选"除最新外全部"之类的策略,批量选中冗余副本。
结果:点 Trash(回收站)按钮而不是 Delete,全部进入系统回收站。举例:一个 12GB 的照片库,若其中三成是重复与相似图片,约能回收 3.6GB(实际数字以你的库为准,状态栏会实时显示找到的条目数和可释放空间)。之后发现删错了,从回收站拿回来即可。
如何把误删关进回收站:先安全,再谈速度
先做对的事:
- 删除优先用Trash按钮;Delete是永久删除,不可恢复。SMB/NFS 等网络盘上移到回收站可能失败,那种场景直接用永久删除反而可靠。
- 重复文件工具默认只报告 16KB 以上的文件,小文件被刻意忽略以减少误报。确实要找小文件,去设置里调低"最小文件大小"。
- 损坏文件工具存在误报(比如某些能正常播放的 MP3 会被标记),删前一定预览确认。
- 硬链接不能跨分区;跨盘的"重复"只能删除或移动,不要指望一键合并。
再做快的事:
- 缓存与 prehash 默认开启,第二次扫描同一目录会明显提速;频繁中断的扫描不用重跑,已算出的哈希已写入缓存。
- 相似视频工具需要额外安装 ffmpeg(Ubuntu 用
apt install ffmpeg,macOS 用 brew),其余工具都不需要。 - 扫全盘时把系统目录、代码仓库的
.git等加进排除项,减少无谓的权限报错。
横向对比:Czkawka 与 DupeGuru、FSlint 的取舍
DupeGuru 的可调参数更多,FSlint 有独特的系统级检查,但两者都没有视频相似度检测,大目录下的速度也慢一个量级。Czkawka 的取舍是把"重复文件 + 相似图片 + 相似视频"装进同一个工具,用 Rust 多线程把扫描压到分钟级,Krokiet 还保持单文件零依赖——U 盘拷走就能在另一台机器上用。
答疑:新手最常卡住的四个问题
Q1:明明能看到两个文件一模一样,为什么没被找出重复?大概率是它们都小于 16KB,被默认的最小文件大小过滤掉了。→ 下一步:把设置里的最小文件大小调低后重扫。
Q2:Krokiet 启动后窗口是黑的或空白?多为显卡渲染后端问题,Linux 上较常见。→ 下一步:用环境变量SLINT_BACKEND=software强制软件渲染再启动;仍不行就换带多后端的构建包。更多症状排查见 instructions/FAQ.md。
Q3:怎么只删下载目录里的重复,保留备份目录里的副本?→ 下一步:把备份目录勾选为 Ref 参考路径,扫描后选"除最新外全部",再点 Trash——参考路径里的文件永远不会被选中。
Q4:它会扫到回收站里的文件,或顺着符号链接跑偏吗?默认排除规则已覆盖各系统的回收站,符号链接也默认不跟随。→ 下一步:如果结果和你预期不符,检查"排除项"规则是否被动过,改回来重扫即可。
现在开始:三步完成第一次清理
下载 Krokiet 预编译版,把你最乱的那个目录加进扫描范围,选重复文件查找并点扫描——几分钟后,你就会拿到第一份清理清单。
【免费下载链接】czkawkaMulti functional app to find duplicates, empty folders, similar images etc.项目地址: https://gitcode.com/GitHub_Trending/cz/czkawka
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考