通配符

* 匹配任意一个或多个字符

# 列出当前目录中所有以.txt结尾的文件(除去以.开头的文件)
ls *.txt
# 列出/etc目录的子目录下所有以.conf结尾的文件。在/etc目录下的以.conf结尾文件将不会列出
ls -la /etc/*/*.conf

? 匹配任意单一字符

# 列出当前目录下以ab开头,随后一个字母是任意字符,并且以.txt结尾的文件
ls ab?.txt
# 列出当前目录下以ab开头,随后的两个字母是任意字符,并且以.txt结尾的文件
ls ab??.txt

[ ] 匹配任何包含在方括号内的单字符

# 列出了在/dev目录下以sda开头,第4个字符是1、2、3、4或5的所有文件
ls /dev/sda[12345]

# 与上方命令完全等效
ls /dev/sda[1-5]

通配符的组合使用

# 列出了当前目录下以数字开头,随后一个是任意字符,并且以.conf结尾的所有文件
ls [0-9]?.conf
# 列出了当前目录下以x、y或z开头,并且以.txt结尾的文件
ls [xyz]*.txt

Last updated