凡是涉及文件系统操作的,大多绕不开glob这个东西,它到底是啥意思呢?去google搜索glob的图片,搜出来全是这玩意儿:
而根据维基百科,glob实际是global的缩写,根据这些信息,我们可以推测,计算机文件系统中的glob字面上的意思应该是「全局」。
我们实际使用的glob是带有通配符的字符串,这个字符串对应着符合它描述的所有文件。从这个角度,是否可以把glob和它的字面意思联系起来呢。有些牵强?哈哈哈,命名这种事情见仁见智吧。总之通配符让我们能根据特定的规则,用一个字符串表示一组文件,这套规则如下。
片段和分隔符
blob里的分隔符是“/”,而段是分隔符之间的东西。
星号
匹配任意数量的字符。比如*.js可以代表a.js 和 b.js,但不能代表somedir/a.js
双星号
跨片段匹配任意数量的字符,如果单星号是匹配一个片段的话,双星号也可以理解为匹配任意数量片段。比如scripts/**/*.js 可以表示script/index.js, script/dir1/index.js, script/dir1/dir2/index.js
叹号
放在glob的开头,用来排除符合该规则的文件