在 Shell 中执行命令时会先进行预处理,将通配符替换成匹配的文件或目录,如果没有找到匹配,则将通配符当成普通字符处理。
通配符wildcar | |
符号 | 意义 |
* | 代表0个到无穷多个任意字符 |
? | 代表一定有一个任意字符 |
[] | 同样代表一定有一个在中括号内的字符(非任意字符)。例如[abcd]代表一定有一个字符,可能是a,b,c,d这四个任何一个 |
[-] | 若有减号在中括号时,代表在编码顺序内的所有字符。例如[0-9]代表0到9之间的所有数字,因为数字的语系编码是连续的 |
[^] | 任意中括号内的第一个字符为指数符号(^),那表示反向选择,例如[^abc]代表一定有一个字符,只要是非a,b,c的其他字符就接受的意思。 |
{} | 表示一个范围:{..} [root@www ~]# echo {a..d}a b c d[root@www ~]# echo {1..10}1 2 3 4 5 6 7 8 9 10 表示至少有两个以上的组合:使用逗号分隔字符集 {,} [root@www ~]# echo a{b,c,d}ab ac ad [root@www ~]# mkdir -v a{,b}mkdir: created directory `a'mkdir: created directory `ab' |