ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

Czkawka 排除列表:如何把 node_modules 和系统目录挡在扫描结果外

2026/8/28 16:21:30 拓冰建站 浏览量
Czkawka 排除列表:如何把 node_modules 和系统目录挡在扫描结果外 Czkawka 排除列表如何把 node_modules 和系统目录挡在扫描结果外【免费下载链接】czkawkaMulti functional app to find duplicates, empty folders, similar images etc.项目地址: https://gitcode.com/GitHub_Trending/cz/czkawka给整盘跑一次重复文件扫描结果前排永远是node_modules、.git和一堆缓存目录真正的重复照片被埋到最后翻。Czkawka 的排除列表就是用来在扫描前把这些路径直接挡掉的。读完这篇你能直接拿走四样东西一条 5 分钟内跑通的最小排除命令通配符规则与目录排除两套机制的区别图形界面、命令行、配置文件三个入口的最短操作路径一份按角色整理的可复制规则包和排错表三步跑通最小例子先准备两组文件一组会被排除一组用来验证重复检测仍然有效mkdir -p /your/path/scan/docs /your/path/scan/build_output echo hello /your/path/scan/docs/a.txt cp /your/path/scan/docs/a.txt /your/path/scan/docs/b.txt echo hello /your/path/scan/build_output/a.txt然后执行czkawka dup -d /your/path/scan \ -e /your/path/scan/build_output \ -E */tmp_*.bin预期结果build_output里的文件完全不会出现在结果里而docs下的a.txt和b.txt会被正常报告为重复。看到这两点排除列表就已经生效了。机制拆解两套系统在同时工作一句话原理Czkawka 的排除不是一套规则而是两套并行的机制——精确目录排除-e整棵目录树直接跳过和通配符模式排除-E每个访问到的路径逐条做正则匹配。核心判定逻辑在 czkawka_core/src/common/items.rs浓缩后是这样if !expression.contains(*) { warnings.push(提示: 规则缺少通配符); continue; // 不含 * 的规则被直接丢弃 } for expression in patterns { if regex_check(expression, path_str) { return true; // 路径整体做模式匹配命中即排除 } }两个要点值得记住模式是对完整路径匹配的所以*/build/*能匹配任意层级下的 build 目录内容而每条规则必须包含*否则会被静默丢弃并只给一条警告。三个入口按你的习惯选一条路三个入口写的是同一份配置选哪个取决于你平时怎么使用 Czkawka适合谁入口最短操作偶尔使用、习惯点界面图形界面设置面板打开 Krokiet 设置 → 找到 Excluded items 输入框 → 逗号分隔填入规则 → 保存写脚本、跑批处理命令行参数每次扫描时带-e和-E不落盘互不干扰想一次配置长期生效配置文件直接编辑excluded_items字段JSON 字符串逗号分隔配置文件各平台位置Linux~/.config/czkawka/config_general.jsonWindows%APPDATA%\czkawka\config_general.jsonmacOS~/Library/Application Support/czkawka/config_general.json打开文件找到excluded_items字段改成你要的规则串excluded_items: */.git/*,*/node_modules/*,*/cache/*保存后重启 Czkawka界面里的排除项会读到这份新值。命令行用户则不需要碰这个文件参数只在当次扫描生效。场景规则包三组可直接复制的规则以下规则都写在-E后面或配置文件的excluded_items字段里逗号分隔占位路径替换成你自己的。前端开发者*/node_modules/*,*/.git/*,*/dist/*,*/.next/*,*.lock依赖树和构建产物都是可再生的体积大、变化快排掉后重复文件扫描才能聚焦在源码和文档上。影音管理者*/.cache/*,*/downloads/incomplete/*,*.part,*.tmp半截下载和临时分片会产生假重复同一个文件的不同进度版本排掉它们能减少大量无效结果。全盘重复扫描DEFAULT这是内置宏不是路径。Czkawka 会把DEFAULT展开为平台预置的排除集.git、node_modules、回收站、系统缓存等$TRASH则单独展开为回收站规则。整盘扫描懒得手写时填这一个词最省事。排错手册症状、原因、修复症状原因修复规则填了却完全没效果规则里不含通配符*被直接丢弃补上*纯路径排除改走-e或界面里的目录排除某个具体目录排不掉目录排除要求真实的绝对路径路径不存在或写错会被跳过用存在的绝对路径填-e不要用相对路径规则在 Linux 上生效Windows 上失效Windows 端会把路径和规则统一转小写后再匹配规则全部写小写分隔符用反斜杠排除规则很多整盘扫描明显变慢通配符规则要对每个访问到的路径逐条匹配条目越多开销越大能用目录排除解决的优先用-e模式规则合并成大类想排除一堆系统目录但记不全手工列举容易漏用内置宏DEFAULT让 Czkawka 自动展开预置集一个高频误区再强调一次-e和-E不是强弱关系是两种机制。-e拿到的是目录本身遍历时直接不进入-E拿到的是模式靠逐路径匹配。目录能确定就用-e跨层级的、按命名规律的才用-E。收尾三条要点加一句维护建议排除分两套-e排除精确目录-E排除通配符模式混用时先分清各自机制。每条模式规则必须带*否则被静默丢弃这是最常见的规则不生效原因。整盘扫描优先用DEFAULT宏打底再按需追加自己的模式。维护建议每换一次工作环境新项目、新机器布局花一分钟看一眼排除列表把失效的旧规则删掉规则越精简扫描越快、越不容易误伤。如果你常年在不同设备间跑重复文件扫描可以关注本项目的更新下一期我们打算讲 Czkawka 相似图片扫描的精度参数怎么调。【免费下载链接】czkawkaMulti functional app to find duplicates, empty folders, similar images etc.项目地址: https://gitcode.com/GitHub_Trending/cz/czkawka创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考