* 匹配文件名中的任何字符串,包括空字符串。
? 匹配文件名中的任何单个字符。
[...] 匹配[ ]中所包含的任何字符。
[!...] 匹配[ ]中非感叹号!之后的字符。
使用*
* 匹配文件名中的任何字符串,包括空字符串。
#ls -l |grep ^d --只显示目录,因为是以d开头的行
使用?
? 匹配文件名中的任何单个字符。匹配的字符数等于?的个数。
#ls ??R*
BAREAD
#ls conf.??.log
conf12.log conf.23.log conf25.log
使用[...]
[...] 可以用来匹配方括号[ ]中的任何一个字符。在这一方法中,还可以使用一个横杠-来连接两个字母或数字,以此来表示一个范围。
#ls [io]* --列出以i或o开头的文件名
使用[!...]
[!...] 匹配[ ]中非感叹号!之后的字符。
下面的例子和刚才的有所不同,使用[!0-9] *来表示非数字开头的字符串,其中!是非的意思:
#ls log.[!0-9]*
log.sybase
为了列出所有以大写字母开头的文件名,可以用:
#ls [A-Z]*
为了列出所有以小写字母开头的文件名,可以用:
#ls [a-z]*
为了列出所有以数字开头的文件名,可以用:
#ls [0-9]*
为了列出所有以. 开头的文件名(隐含文件,例如.profile、.rhosts、.history等等),可以用:
# ls .*
转载于:https://blog.51cto.com/happyland/710719