通配符的作用:匹配文件名
常见的通配符:
*:表示任意个字符(不包括隐藏文件)
?:单个任意字符(中文也算一个字符)
[]:表示匹配一范围或者其中一个
表示匹配范围:
[a-z] --- 不但包括了小写字母 还包含了大写字母)-- 次序:小大小大...
[a-z] --- a-z,A-Y
[A-Z]--A-Z,b-z
[^a-z] 匹配列表中的所有字符以外的字符
表示其中一个
[asdfg] 表示匹配这几个字符中的其中一个
[^fdsfs] 匹配列表中的所有字符以外的字符
linux预定义的字符类:
[[:lower:]]:任意小写字母,表示 a-z
[[:upper:]]: 任意大写字母,表示 A-Z
[[:digit:]]:任意数字,相当于0-9
[:alpha:]: 任意大小写字母
范例:
1、显示/etc目录下所有以l开头,以一个小写字母结尾,且中间出现至少一位数字的文件或目录列表l*[0-9]*[[:lower:]]
2、显示/etc目录下以任意一位数字开头,且以非数字结尾的文件或目录列表[0-9]*[^0-9]
3、显示/etc/目录下以非字母开头,后面跟了一个字母及其它任意长度任意字符的文件或目录列表[^a-z][a-z]*
4、显示/etc/目录下所有以rc开头,并后面是0-6之间的数字,其它为任意字符的文件或目录列表rc[0-6]*
5、显示/etc目录下,所有.conf结尾,且以m,n,r,p开头的文件或目录列表[mnrp]*.conf
6、只显示/root下的隐藏文件和目录列表ls -a /root/.*
7、只显示/etc下的隐藏目录列表ls -d /etc/.*
(-d表示不进入目录中,只查看目录的本身)
原创文章,作者:254126420,如若转载,请注明出处:https://blog.ytso.com/267686.html