通配符 glob 语法简介
在很久以前,glob 是 UNIX V6 的一个程序,后来就被整合进 shell 成为内建功能。Globbing,就是将一些通配符扩展为一个路径的列表。跟正则表达式不同的是,?
表示任何单一字符,*
表示包括空格在内的任何字符。
* []
中间一定要有东西,用于表示字符集。 例如 [][!]
表示的其实是 [
, ]
, !
这三种字符。
* []
中间可以用短横线表示范围,例如 [a-ZA-Z0-9]
表示字符数字,[--0]
表示 -
, .
, 0
; []-]
表示 ]
, -
。
* []
中间用反斜杠 \
做转义。
* 两个设定:
* '/' 不会被 *
或者范围识别出来,因为这个程序是用来识别路径的。
* .
开头的文件需要显式指定出来,例如 rm *
是不会删除 .profile 的。
* 没有任何东西识别出来,对应的是空列表。