Czkawka 免费磁盘清理工具完整指南:快速找出重复文件与相似图片
2026/9/5 17:33:12 网站建设 项目流程

Czkawka 免费磁盘清理工具完整指南:快速找出重复文件与相似图片

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

Czkawka 是一套用 Rust 编写的开源磁盘清理工具:重复文件查找、相似图片识别、空文件夹清理等 14 个扫描工具共用同一个核心库,完全离线运行,支持 Windows、macOS、Linux 和 Android。装好它,你几分钟内就能看到第一次扫描结果。

三分钟跑起来:安装与首次扫描

目标是尽快让结果出现在屏幕上,所以下面把安装和第一次扫描合并讲。

主推方式:装 Krokiet 前端

Krokiet 是当前主推的图形界面(基于 Slint 开发),一个自包含的可执行文件,下载即用,不需要额外运行库。

  • Windows:下载windows_krokiet_*预编译包,双击运行.exe;
  • Linux:下载linux_krokiet_x86_64,执行chmod +x linux_krokiet_x86_64 && ./linux_krokiet_x86_64(给它执行权限再启动);
  • macOS:下载对应芯片的包,chmod +x后直接运行;若被系统拦下,右键选"打开"。

如果你习惯包管理器,也可以走 Rust 官方仓库一键安装:

cargo install krokiet --locked

这一条命令会从 crates.io 拉取源码并编译出最新版 Krokiet,装完krokiet命令就在全局可用。

备选方式:自己编译

想要最新特性或自定义功能时,克隆仓库再编译:

git clone https://gitcode.com/GitHub_Trending/cz/czkawka cd czkawka cargo build --release --bin krokiet

第三行意思是:用 release 模式编译 Krokiet,产物在target/release/krokiet。可选的 HEIF/RAW/AVIF 图像支持需要加--features "heif,libraw,libavif"并安装对应系统库,仓库里的 misc/install_scripts/ 提供了各平台一键安装依赖的脚本。

首次扫描步骤

以"找出重复文件"为例,第一次使用按这个顺序走:

  1. 打开 Krokiet,左侧工具列表选Duplicate Files(重复文件);
  2. 点操作栏右侧的文件夹图标,打开目录面板,把要扫的目录加入Included paths(扫描范围);
  3. 比对方式保持默认Hash(按内容哈希,最准确),点Scan;
  4. 扫完后状态栏会显示 "Found N items in Xms",结果按组列出,组内第一个文件就是建议保留的副本。

第一次扫建议只选 1~2 个目录(比如文档和下载目录),别直接扫全盘——硬盘容量越大,首次全量哈希耗时越长。

挑重点功能深讲

14 个工具里,重复文件、相似图片、相似视频是大多数人真正会反复用的三个。每个只回答三件事:什么时候用、怎么用、注意什么。

重复文件查找:先过大小关,再过哈希关

什么时候用:下载目录反复下载同一安装包、多个项目间复制了相同素材时,这是收益最高的一个工具。

怎么用:工具支持 Hash、Size、Name 三种比对方式,默认 Hash(可选 Blake3/CRC32/XXH3,默认 Blake3)。扫描分两级:先按文件大小分组,再对同大小文件算预哈希(只读文件头尾各 4 KB),预哈希一致才算完整哈希——所以大量明显不同的文件根本不会被完整读一遍。结果出来后,用Select按钮选"Except newest"之类的策略,再点Trash进回收站,或直接Delete

注意什么:

  • Krokiet 默认最小文件大小是16 KB,更小的文件不参与比对。这是有意为之——全盘扫描时大量几 KB 的小文件(图标、配置片段)经常"碰巧相同",会把真重复淹没掉。想扫小文件就去 Settings 里把最小值调低;
  • Hard link 默认被隐藏:同一 inode 的两个文件名只算一次,不会产生假重复。确有需要可在设置里关闭 "Hide hard links";
  • 删除前先确认没选错组,Trash 进回收站比永久删除可挽回,网络盘(NFS/SMB)上没有回收站,只能用永久删除。

相似图片识别:找"看起来一样"的图

什么时候用:照片库里有连拍、改过分辨率、加过水印、重新压缩过的版本时。重复文件工具认不出它们(内容字节不同),这个工具认得出。

怎么用:选Similar Images,右侧子设置里几个关键项:

设置默认值作用
Hash size16感知哈希尺寸,可选 8/16/32/64,越大越精确
Max difference10允许的最大差异,调高=更宽松,调低=更严格
Geometric invarianceOff打开后可识别镜像翻转、旋转 90° 的变体
Ignore images with same sizeOff跳过字节大小完全相同的组(那种归重复文件管)

扫完后右侧预览面板可以逐组对比,手动挑出每组要保留的一张,其余删除。

注意什么:误报多就把 Max difference 降到 4~5,并把 hash size 提到 32 或 64;漏报多则反向调。灰度图会匹配到彩色原图(感知哈希基于亮度),这类结果需要你人工过目。默认支持 JPEG、PNG、BMP、TIFF、WebP 等;HEIC/AVIF 需要带对应 feature 的构建。

相似视频检测:给 TB 级素材库做减法

什么时候用:同一部视频换了编码、换了分辨率存了好几份,或者想把"素材库里已经有的片段"筛出来时。

怎么用:选Similar Videos,先确认系统装了ffmpeg(Linux:sudo apt install ffmpeg;macOS:brew install ffmpeg;Windows 可用choco install ffmpeg或把ffmpeg.exe放进 PATH)。没有它这个工具直接不可用。右侧提供 Custom / Near-identical / Similar / Movies 四个快速预设,分别对应不同的 Max difference、采样窗口数等参数;也可以用顶部的Compare by audio fingerprint切换到按声音指纹比对的模式。

注意什么:视频签名按"处理参数"缓存,你改了采样时长、窗口数这类参数,下次扫描会重新处理所有视频,耗时明显;而 Max difference 这类只影响归组的参数不会触发重算。找"重新编码的同一部片"效果好,想靠它找"画面有几处相似的不同片子",不现实。

功能全貌

其余工具一行一个,需要时再到 instructions/Instruction_Krokiet.md 查细节:

工具干什么用
Empty Folders递归找出完全空的目录,连带"子目录清完后变空"的目录
Empty Files找 0 字节文件,可选扩展检查"全是空字节/不可见字符"的文件
Big Files按大小排序,找出前 N 个(默认 50 个)最大的文件
Temporary Files按可编辑的模式清单(.tmp.bak.crdownloadthumbs.db等)找临时文件
Same Music按 ID3 标签或音频指纹找同一首歌的不同版本(不同码率/封面)
Invalid Symlinks找出指向不存在目标或成环的符号链接
Broken Files检测打不开/已损坏的文件,默认开音频、字体、JSON/XML/TOML,可选 PDF、压缩包、图片、视频
Bad Extensions按文件头(magic bytes)判断内容与扩展名是否对得上,支持一键按建议重命名
Bad Names找名字有问题的文件:大写扩展名、emoji、首尾空格、非 ASCII 字符等,并给出修正建议
Exif Remover找出含 EXIF 元数据(拍摄时间、GPS 等)的图片,选中后用Clean批量清除
Video Optimizer裁掉视频黑边/静态区域,或把旧编码转成更高效格式(跳过 h265/av1/vp9)

调教出你的用法

三个进阶技巧,用上一次,之后每次扫描都省事。

1. 缓存和预哈希:第二次扫描快得多

所有前端(CLI、Krokiet、旧 GTK)共享同一个缓存目录,Linux 在~/.cache/czkawka/,里面是cache_duplicates_HASH.txtcache_similar_image_SIZE_HASH_FILTER.bin这类已算好的哈希和缩略图。Krokiet 默认开启缓存和预哈希,重扫同一目录时只有新增和变动的文件需要重新计算。注意:扫描可以中途 Stop,已算完的哈希照样写进缓存,下次接着用。

2. 用 Reference 路径保护"原件"

在目录面板里,每个 Included path 旁有个Ref勾选框。勾上的目录只参与比对、绝不被删除——典型用法:把整理好的主照片库勾成 Reference,把下载目录作为普通路径加入,扫完"选除最新外全部"再删,永远不会误伤原件。CLI 里对应-r参数(每个目录要单独传一个-r)。

3. 预设 + 定时任务

Krokiet 支持多个 Preset,每个预设独立存扫描目录、扩展名过滤、工具参数,配置文件在~/.config/krokiet/config_preset_N.json——给"扫照片"和"扫项目目录"各建一个,切换零成本。

自动化则交给 CLI。把结果写成 JSON 报告挂进 crontab,每周一自动跑:

czkawka_cli dup -d /home/user/Downloads -d /home/user/Documents \ -p /home/user/logs/duplicates_$(date +%Y%m%d).json -N -M -W

意思是:扫下载和文档两个目录,结果按日期存成 JSON,-N -M静默输出,-W保证"找到文件"时退出码也是 0 不会触发告警。真要删的时候,先用-D AEN -Q(dry-run,只预览不动手)确认列表,没问题再实删。

快问快答

Q1:Krokiet 窗口全黑或打不开怎么办?多半是 GPU 驱动和渲染后端不兼容。先试软件渲染:Linux/macOS 执行SLINT_BACKEND=software ./krokiet(Windows 在系统环境变量里设置SLINT_BACKEND=software后重启)。预期结果:窗口正常显示,只是渲染稍慢。还不行就下载all_backends构建,用它里面的各个启动脚本逐个试。

Q2:明明有两个一样的小文件,为什么没被找出来?检查 Settings 里的最小文件大小,默认 16 KB,比这小的文件直接跳过。把它调低(比如 0 或 1)重扫。预期结果:小文件重复组出现在结果列表里;副作用是小文件"碰巧相同"的噪音也会变多。

Q3:Similar Videos 提示找不到 ffmpeg?Krokiet 和 CLI 不自带 ffmpeg,需按系统装:Linuxsudo apt install ffmpeg,macOSbrew install ffmpeg,Windows 用choco install ffmpeg或把ffmpeg.exe放到 Krokiet 同目录/PATH。装完重启应用,预期结果:工具可正常启动扫描。

Q4:怎么确保删除环节不出意外?三步:先给重要目录加排除项(目录面板的 Excluded Paths,或 Excluded items 里写*/.git这类通配);删除走Trash进回收站,确认无误再从回收站彻底清;CLI 场景一律先-Qdry-run 看一遍将要删的清单再执行。预期结果:即使选错策略,文件也只是进了回收站,可恢复。

结语

别从全盘扫起,先挑一个目录试水:把下载文件夹加进 Included paths,跑一遍 Duplicate Files,看看里面到底攒了多少个安装包副本。有感觉之后,再照上面的步骤把照片库的相似图片清理安排上。

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

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

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

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

立即咨询