一 ,说明
我们经常要在shell下执行命令程序,而这些命令程序需要经常使用文件名,因此shell提供了一些特殊字符来帮助快速指定或者筛选一组文件名。这些特殊的字符就被称为“通配符”。通配符(也被称为文件名替换)允许用户依据字符模式选择文件名。通配符可以与任意一个使用文件名为参数的命令一起使用。并且通配符不但可以在命令行程序中起作用,也可以在GUI程序中起作用。
二 ,通配符
下面提供了常用的通配符字符, 通配符字符类以及实际中使用通配符的实例
通配符字符
通配符 匹配项
* 匹配任意多个字符 (包括0个和1个)
? 匹配任意单一字符 (不包括0个)
[ characters ] 匹配任意一个属于字符集中的字符 就是[ ]
[ !characters ] 匹配任意一个不属于字符集中的字符 就是[! ]
[[ :class: ]] 匹配任意一个属于指定字符类中的字符
通配符字符类
字符类 匹配项
[ :alnum: ] 匹配任意一个字母或数字
[ :alpha: ] 匹配任意一个字符
[ :digit: ] 匹配任意一个数字
[ :lower: ] 匹配任意一个小写字母
[ :upper: ] 匹配任意一个大写字母
[ :space: ] 所有空格
[ :punct: ] 所有标点符号
通配符实例
形式 匹配项
g* 以g开头的任意文件
b*.txt 以b开头,中间有任意多个字符,并以.txt结尾的任意一个文件
Data??? 以Data 开头,后面跟3个字符的任意一个文件
[abc] 以abc 中的任意一个开头的任意一个文件
BACKUP.[0-9][0-9][0-9] 以BACKUP.开头,后面跟3个数字的任意一个文件
[[ :upper: ]]* 以大写字母开头的任意一个文件
[![ :digit: ]]* 不以数字开头的任意一个文件
注意:字符类并不是通配符,不能单独产生作用要结合通配符才能发挥作用,
例如 [:digit:] 本身没有意义只代表字符串