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 不是。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM