You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用rsync:如何排除所有包含cache单词(不区分大小写)的目录?

rsync 不区分大小写排除含“cache”的目录实现方法

方法一:使用rsync内置的大小写忽略过滤(推荐,适用于rsync 3.0.0及以上版本)

rsync 3.0.0及以后版本支持在过滤模式前添加i::前缀,启用不区分大小写的匹配。如果要排除所有名称包含“cache”(任意大小写组合)的目录,可执行以下命令:

rsync -av --exclude='i::*cache*/' 源目录/ 目标目录/
  • -av:归档模式(保留权限、时间等属性)+ 详细输出,是rsync常用的基础参数
  • --exclude='i::*cache*/':i::开启大小写忽略,*cache*/匹配任意路径中名称包含cache的目录(末尾的/确保只排除目录,不会误排除同名文件)

如果需要同时排除含cache的文件和目录,去掉末尾的/即可:

rsync -av --exclude='i::*cache*' 源目录/ 目标目录/

方法二:兼容旧版本rsync的大小写枚举法

如果你的rsync版本低于3.0.0,不支持i::前缀,可以通过枚举每个字母的大小写来实现匹配:

rsync -av --exclude='*[cC][aA][cC][hH][eE]*/' 源目录/ 目标目录/
  • [cC]匹配小写c或大写C,同理[aA]、[hH]等,组合后可覆盖所有大小写变体的cache目录
  • 同样,末尾的/限定只排除目录,去掉则同时排除文件

补充:批量模式文件(可选)

如果需要更灵活的规则,也可以将所有需要排除的模式写入一个文本文件,比如exclude_list.txt:

*Cache*/
*CACHE*/
*caChe*/
# 可添加其他大小写变体或额外排除规则

然后通过--exclude-from参数调用:

rsync -av --exclude-from='exclude_list.txt' 源目录/ 目标目录/

内容的提问来源于stack exchange,提问作者Danijel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 11:42:33