Czkawka 重复文件清理完整指南:从本地离线扫描到定时任务自动化
【免费下载链接】czkawkaMulti functional app to find duplicates, empty folders, similar images etc.项目地址: https://gitcode.com/GitHub_Trending/cz/czkawka
磁盘弹出"剩余空间不足 100GB"的警告时,你多半说不出空间被谁吃掉了——答案里往往有相当一部分是重复文件。Czkawka 是一款免费、开源、用 Rust 编写的重复文件查找清理工具:不联网、无遥测,扫描全部在本地完成。全部扫描逻辑集中在 czkawka_core 库里,Krokiet 桌面界面、命令行 CLI、Cedinia 安卓三个前端复用同一套引擎,覆盖重复文件、相似媒体、系统小垃圾等多种场景。
安装与入口选择:四种构建物各有分工
Krokiet 是单个自包含可执行文件,不带运行时依赖,预编译版覆盖 Windows 10/11、macOS、Ubuntu 22.04 及以上(或更新 glibc 的同类发行版)。四个入口的定位如下:
| 入口 | 形态 | 现状 |
|---|---|---|
| Krokiet | 桌面 GUI(Slint) | 当前主推,最新版本 12.0.1 |
| Czkawka GTK | 桌面 GUI(GTK 4) | 12.0 为最后发布版,不再提供新构建 |
| Czkawka CLI | 终端 | 与 GUI 共用扫描核心,面向脚本 |
| Cedinia | 安卓 | 实验版;因安卓缺 ffmpeg,视频类工具不可用 |
代码几乎 100% 不含 unsafe,依赖清单里查不到任何网络、统计、更新检查类库。新用户直接装 Krokiet;老 GTK 用户可继续用,但新功能只进 Krokiet。
第一次扫描:从选目录到按组处理
以最高频的"重复文件"为例,在 Krokiet 里:
- 选工具:左侧面板点"重复文件";
- 加目录:要扫的位置放入扫描列表,系统目录、备份目录放入排除列表——排除列表自带 DEFAULT 与 $TRASH 两个预设,后者覆盖常见回收站路径;
- 设过滤:默认跳过 16KB 以下的小文件,避免结果被无意义的碎重复刷屏;想查小文件就在设置里调低"最小文件大小"(CLI 的 dup 默认阈值是 8192 字节);
- 保护原件:把备份目录设为参考文件夹(reference folder),它只参与比对,永远不会被删;
- 点扫描:默认是内容哈希模式,逐字节比对内容,同名不同内容的文件不会归到一组;
- 处理结果:结果按组展示,Krokiet 默认勾选"除一张外全选",先移入回收站,确认无误再用独立的永久删除按钮。
第二次扫同一批目录会明显变快:哈希、大小等元数据有缓存,重扫直接命中。12.0 调整过缓存格式,旧缓存会在首次运行时自动重建,属正常现象。
相似图片、视频与音乐:三组参数怎么调
相似图片用感知哈希(把图片压成一段短"视觉指纹",画面越像指纹越接近):分辨率不同、带水印、裁剪过、JPEG 反复压缩都能归进同一组。阈值 max difference 范围 0~40,数字越大分组越宽——误判多就往小调,漏报多就往大调。12.0 新增几何不变性,镜像、翻转、旋转过的副本也能被抓到。每组留分辨率最高的一张即可。
相似视频无法逐字节比,提供两种模式:抽帧比画面,或音频指纹只比声音(后者是 12.0 新增)。两者都要求先装 ffmpeg:
sudo apt install ffmpeg这条命令在 Ubuntu/Debian 上安装 ffmpeg;macOS 用brew install ffmpeg,Windows 用choco install ffmpeg或把 ffmpeg.exe 放到程序同目录。
音乐去重同样两种模式:标签比对(艺术家、专辑、曲名)和音频内容比对。此外还有一组顺手能跑的小工具:空文件夹、空文件、临时文件、损坏文件、无效符号链接、"扩展名和内容对不上"、坏文件名、大文件排行、EXIF 清理、视频优化(裁掉静态画面并转更紧凑的格式)。
CLI 自动化 ⚙️:一条命令、两个退出码
命令行与界面共用同一套扫描逻辑,例如:
czkawka_cli dup -d /home/user/Downloads -s hash -f results.txt这条命令按内容哈希(-s hash)扫描指定目录的重复文件,结果写入 results.txt 而不是刷屏;Linux/macOS 直接执行,Windows 用 czkawka_cli.exe。每个子命令自带--help,参数可查。
对写进计划任务最关键的是退出码约定:找到结果退出 11,没发现退出 0,脚本可直接据此分支。排除路径要用 -e(目录)或 -E(模式)显式指定,可以直接套用上面提到的预设。
删除前核对的三件事 ⚠️
- 匹配方式优先于速度:按名字或大小匹配会把同名不同内容的文件归到一组,容易误删;默认的内容哈希最稳;
- 硬链接不跨盘:硬链接(多个名字指向同一份数据,只占一份空间)只在同一磁盘内有效,跨盘会直接报错,那种场景请改用移动;
- 找不到小文件的重复?不是 bug,是最小文件大小过滤在起作用,到设置里把阈值调低。
下一步从这里开始
先只把"下载"目录加进 Krokiet 跑一次重复文件扫描:确认分组符合预期、想留的原件已设为参考文件夹,再逐步把整个资料盘加进来。习惯之后,用终端跑一遍上面的 CLI 命令,用退出码验证结果,再顺手把相似图片工具指向照片库。更多参数见 Krokiet 安装与编译文档、CLI 使用说明 和 官方 FAQ,扫描实现都在 czkawka_core/ 源码里。
【免费下载链接】czkawkaMulti functional app to find duplicates, empty folders, similar images etc.项目地址: https://gitcode.com/GitHub_Trending/cz/czkawka
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考