* 匹配文件名中的任何字符串,包括空字符串。
? 匹配文件名中的任何单个字符。
[...] 匹配[ ]中所包含的任何字符。
[!...] 匹配[ ]中非感叹号!之后的字符。


使用*
* 匹配文件名中的任何字符串,包括空字符串。

#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 .*