当前位置: 首页 > news >正文

自建同步服务syncthing的忽略模式语法

Syncthing是一款开源的文件同步程序,如果有一个VPS就可以将自己本地文件夹与服务器同步。Syncthing可以选择通过全球服务器节点连接至自己的服务器,也可以本地直接与自己的服务器连接(前提是自己的服务器有公网IP),当然这些都是废话,百度就有一堆,今天说的是Syncthing同步文件夹时怎样忽略文件,就是不上传自己不想上传的文件。

其实主要就是翻译Syncthing的文档,地址在这Ignoring Files — Syncthing documentation

1.忽略模式的配置文件

如果某些文件不应与其他设备同步,则可以创建一个名为.stignore的文件,其中包含要忽略的文件模式。.stignore文件必须放在文件夹的根目录中。.stignore文件本身永远不会同步到其他设备,但可以使用 #include 来包含在设备之间同步的文件。所有模式语法都从文件夹根目录开始生效。生效是以根目录为基准的。

文件虽然被忽略,但文件夹也不会被删除。如果需要删除文件夹,使用(?d)

2.匹配模式

1 .stignore文件包含文件或路径模式的列表。匹配语法从上至下生效。

2 一般文件名与自身匹配,即语句foo匹配文件foosubdir/foo以及任何名为foo的目录。空格被视为常规字符。即一般语句与文件名、文件夹名匹配,并且从根目录起逐级匹配。

3 星号 * 匹配文件名中的零个或多个字符,但与目录分隔符不匹配。te*st匹配testsubdir/telerest但不匹配tele/rest

4 双星号 ** 匹配如上,但也包含目录分隔符。te**st匹配test、subdir/teleresttele/sub/dir/rest

5 问号 ?匹配单个字符,但不匹配目录分隔符。如te??st匹配tebest但不是teb/sttest

6 括在方括号 [] 中的字符被解释为字符范围[a-z]。在使用此语法之前,您应该对正则表达式字符类有基本的了解。

7 目录分隔符 / 表示仅在当前目录中匹配。/foo匹配foo但不匹配subdir/foo

8 以#include开头的语句会从指定文件加载匹配模式。文件不存在或被包含多次是错误的。请注意,虽然这可以用于包含子目录中文件的模式,但模式本身仍然相对于文件夹根目录。示例:#include more-patterns.txt

9 一个以!开头的 匹配语句表示否定 :上传包含匹配文件(即不被忽略)。这可以用于覆盖后面的更一般的模式。

10 以 (?i) 前缀开头的模式允许不区分大小写的匹配。(?i)test匹配testTESTtEsT。 (?i) 前缀可以与其他模式组合,例如语句

(?i)!picture*.png表示Picture1.PNG应该同步。在Mac OS和Windows上,模式始终不区分大小写。

11 以(?d)为前缀开头的语句表示可以删除这些文件,如果它们阻止了目录删除。任何操作系统生成的文件都应该使用此前缀,应该将其删除。

12 以//开头的行是注释,没有任何效果。

13 Windows不支持转义\ [foo - bar \]。

14 前缀可以按任何顺序排列(例如“(?i)(?d)”),但不能在一对括号中(不是“(?di)”)。

3 例子

给定目录结构

.DS_Store foo foofoo bar/ baz quux quuz bar2/ baz frobble My Pictures/ Img15.PNG

.stignore文件的内容

(?d).DS_Store !frobble !quuz foo *2 qu* (?i)my pictures

解析:

.DS_Store # 忽略,如果妨碍父目录删除,将被删除 foo # 同步,不匹配“foo”但匹配“foo*” 或 “*foo” foofoo # 同步,不匹配“foo”但匹配“foo*” 或 “*foo” bar/ # 同步 baz # 同步 quux # 忽略,匹配“qu*” quuz # 同步,匹配“qu*” 但被前面的“!quiz”排除 bar2/ # 同步,虽然匹配 “*2” 但子目录文件同步了 baz # 忽略,由于父目录被忽略 frobble # 同步,“frobble” 按从上到下顺序生效 My Pictures/ # 忽略,匹配最后一条 Img15.PNG # 忽略,由于父目录被忽略

有空欢迎看我的个人博客:https://ming1z.cyou

http://www.jsqmd.com/news/1210767/

相关文章:

  • 宇舶中国官方售后服务中心|服务热线及门店详细地址权威信息通知(2026年7月最新) - 亨得利官方服务中心
  • NoSQL数据库选型与实战避坑指南
  • 长沙爱彼回收价格查询与各大回收平台实测排行(2026年7月最新) - 尊奢回收二奢平台
  • i.MX6ULL嵌入式Linux开发:交叉编译工具链配置与ARM架构差异解析
  • 2026年7月最新芝柏武汉华中科学生态城万象汇维修保养服务电话 - 亨得利钟表维修中心
  • (83页PPT)智慧酒店增值运营系统解决方案(附下载方式)
  • 大语言模型全流程技术解析与工程实践
  • Android源码获取与编译实战指南
  • 中级游戏后端的逆袭之路——常规游戏功能设计(二、副本系统)
  • 不想复读、不甘普通本科?西安交通大学 IFC 国际本科预科项目开启国外本科路 - 资讯速览
  • 国产大模型在OpenRouter霸榜:免费策略与Agent场景突破
  • Unity中实现PDF文件动态渲染与UI显示的技术方案
  • 厦门江诗丹顿回收价格查询及靠谱平台实测排行(2026年7月最新数据) - 嘉价奢侈品回收平台
  • 官方重磅:劳力士中国专柜2026年7月最新电话热线 - 劳力士官方服务中心
  • Java开发环境配置与基础语法避坑指南
  • 2026年7月烟台系统门窗定制,哪家售后靠谱?答案即将揭晓! - 资讯速览
  • 2026年7月最新真力时三亚海棠湾万象城维修保养服务电话 - 亨得利官方服务中心
  • linux内核没有dts配置I2C硬件信息的情况下,要怎么去适配I2C设备和对应的驱动匹配然后驱动正常跑进probe
  • ChatGPT数据可视化Prompt工程实战手册:80条防幻觉可交付指令
  • FPGA国产化进程:从Xilinx到复旦微电子的技术突破
  • Capstone项目重构:从学术模型秀到工业级数据工程实战
  • Android照片恢复原理与实战技巧
  • 2026年7月广州电梯/广州电梯安装经销商帮我推荐几家_广州市永恒电梯有限公司 - 品牌宣传支持者
  • 深圳江诗丹顿回收价格查询与靠谱平台实测排行(2026年7月最新数据) - 天价名表回收平台
  • 【Cursor智能编码×AB测试双引擎】:2024最新版AB分流逻辑验证框架,支持动态权重+埋点自动注入
  • Sqribble文档自动化流水线:非AI驱动的PDF生成方案
  • 2026年短视频特效素材网站评测:透明通道、动态图形与模板工作流
  • 亨得利官方名表服务中心|最新热线电话与地址权威信息公示(2026年7月更新) - 亨得利官方
  • 林伽一 · AI科技日报 | OpenAI Sol 自主删库,AI Agent 安全范式亟待重构
  • 2026年佛山代运营服务商深度剖析与制造业企业推荐