对象存储

  • ignore 规则

    最近更新时间:2017-01-19 16:38:13

    通过在 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/
    
    以上内容是否对您有帮助?
  • 提交工单