Syncthing 忽略模式

时间:2021-08-08
本文章向大家介绍Syncthing 忽略模式,主要包括Syncthing 忽略模式使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

忽略模式

概要

.stignore

描述

这是 Syncthing 同步文件夹的忽略模式语法指南

语法

.stignore 文件可包含一系列路径匹配模式,对指定文件的处理方式由第一个匹配到它的模式决定

  • 一般的文件名匹配它自己,例如,模式 foo 匹配:

    • 文件 foo
    • 文件subdir/foo
    • 任何名字是 foo 的文件夹

    空格会被认为是正常字符,除了前缀和后缀的空格会自动被修剪掉。

  • 星号(*)匹配 0 个或多个字符,但是不匹配路径分割符。例如 te*me 匹配:

    • telephone
    • subdir/telephone

    但是不匹配 tele/phone

  • 双星号(**)匹配 0 或多个字符,包括路径分割符,例如 te*me 匹配:

    • telephone
    • subdir/telephone
    • tele/sub/dir/phone
  • 问号(?)匹配单个字符,不匹配路径分割符,例如 te??st 匹配:

    • tebest

    不匹配:

    • teb/st
    • test
  • 方括号([])指定符号范围,如 [a-z] 匹配:任何小写字符

  • 大括号({})表示一组替代词,如 {banana,pineapple} 匹配:bananapineapple

  • 反斜杠(\)转义字符。例如 \{banana\} 会严格匹配 {banana} ,而不会识别成替代词。转义字符在 Windows 上不支持!

  • / 开头的模式:只在根目录下进行匹配。例如 /foo 匹配 foo 但不匹配 subdir/foo

  • 开头带有 #include 的模式会从指定名字的文件中载入模式。如果这个文件不存在,或者被包括了多次,就会出错。注意,虽然这样可以从子文件夹中的一个文件载入模式,但模式自身仍然是以根目录为参照点的。例子:#include more-patterns.txt

  • ! 前缀的模式会否定这个模式:匹配的文件会被 包括(也就是,不要忽略)。这一项可以覆盖后续的忽略模式。

  • (?i) 前缀的模式会启用大小写不敏感。如 (?!)test 匹配:

    • test
    • TEST
    • sEsT

    (?!) 可以与其它模式结合,例如:(?!)!picture*.png 会指定 Picture1.PNG 不被忽略。在 Mac OS 和 Windows 上,模式永远是大小写不敏感的。

  • (?d) 前缀的模式,如果这些文件在阻止目录的删除,就会删除这些文件。这个前缀应该被任何 OS 生成的你乐意移除的文件使用。

  • // 起始的行为注释。

注意:

前缀的顺序可以是任意的,例如 (?d)(?i) ,但是不能在同一个括号中,不要使用 (?di)

注意:

顶级的包含模式被特殊对待,并且不会强制 Syncthing 不顾其它忽略模式地扫描整个目录树。例如:!/foo 是一个顶级包含模式,!/foo/bar 不是。

原文地址:https://www.cnblogs.com/haujet/p/15116467.html