ignore 规则
通过在sync_dir
指定的目录下创建.qrsignore
(或.qrsignore.txt
)文件,qrsync
,qrsbox
,qrsboxcli
可以选择忽略某些文件和文件夹。
文件内容为上传文件过程中需要忽略的项目的匹配模式。若某文件名被匹配则忽略该文件,若某目录名被匹配则忽略该目录下所有文件以及子目录。
匹配规则
路径
- 首位为
/
:- 当首位为
/
时,只会匹配从上传目录开始的绝对路径 /a.txt
仅仅匹配a.txt
,不会匹配b/a.txt
/*.txt
仅仅匹配a.txt
,b.txt
,不会匹配b/a.txt
- 当首位为
- 首位不为
/
:- 当首位不为
/
时,只要路径中有一部分和模式匹配就可以 b/a.txt
会匹配c/b/a.txt
,d/c/b/a.txt
等a.txt
会匹配a.txt
,b/a.txt
等所有文件名为a.txt
的文件*.txt
会匹配a.txt
,b/c.txt
等所有文件名以.txt
为后缀的文件
- 当首位不为
示例:
文件名 | /a.txt |
/*.txt |
b/a.txt |
a.txt |
*.txt |
操作 |
a.txt | 匹配 | 匹配 | - | 匹配 | 匹配 | 忽略 |
b.txt | - | 匹配 | - | - | 匹配 | 忽略 |
c.txt | - | 匹配 | - | - | 匹配 | 忽略 |
b/a.txt | - | - | 匹配 | 匹配 | 匹配 | 忽略 |
b/b.txt | - | - | - | - | 匹配 | 忽略 |
b/c.txt | - | - | - | - | 匹配 | 忽略 |
c/b/a.txt | - | - | 匹配 | 匹配 | 匹配 | 忽略 |
d/c/b/a.txt | - | - | 匹配 | 匹配 | 匹配 | 忽略 |
foo.png | - | - | - | - | - | 上传文件 |
bar.jpg | - | - | - | - | - | 上传文件 |
通配符
*
匹配任意非路径分隔符的符号,如b/*.txt
匹配b/a.txt
,但是不匹配b/c/a.txt
;**
匹配任意字符,包括路径分割符号,如b/**.txt
,匹配b/c/a.txt
。
非模式
当匹配模式以!
开头时候则该模式为非模式,与非模式匹配的文件就不会被忽略不论是否与其他模式匹配,比如:
- 当模式存在
!1.txt
*.txt
这两个,将会匹配除了1.txt
文件外的所有以.txt
结尾的文件; - 当要表达首位的
!
的时候可以用\!
来表示,比如想忽略名为!.txt
的文件,匹配模式则为\!.txt
。
注释
#
开头的行为注释,不会执行匹配。
Windows 环境
考虑到 Windows 下面路径分隔符和转义字符\
冲突,所以在windows里面的路径分割符跟unix一样用/
表示。
示例
使用.qrsignore
文件:
# 忽略所有exe后缀的文件
*.exe
# do_not_ignore_me.exe 不忽略,要上传
!do_not_ignore_me.exe
# 忽略目录dir下的所有文件
dir/
如果有任何问题,请进入 七牛云存储问答社区 或者发送 工单 咨询