通配符
通配符 | 作 用 |
---|---|
? | 匹配一個任意字符 |
* | 匹配 0 個或任意多個任意字符,也就是可以匹配任何內容 |
[] | 匹配中括號中任意一個字符。例如,[abc] 代表一定匹配一個字符,或者是 a,或者是 b,或 者是 c |
[-] | 匹配中括號中任意一個字符,- 代表一個范圍。例如,[a-z] 代表匹配一個小寫字母 |
[^] | 邏輯非,表示匹配不是中括號內的一個字符。例如,[^0-9] 代表匹配一個不是數字的字符 |
舉幾個例子:
[root@localhost ~]# cd /tmp/
[root@localhost tmp]# rm -rf *
#進入臨時目錄,刪除所有文件
#這個也是通配符,代表當前目錄中的所有文件
[root@localhost tmp]# touch abc
[root@localhost tmp]# touch abcd
[root@localhost tmp]# touch 012
[root@localhost tmp]# touch 0abc
#建立幾個測試文件
[root@localhost tmp]# ls *
012 0abc abc abed
#"*"代表所有的文件
[root@localhost tmp]# ls ?abc
0abc
#"?"匹配任意一個字符,所以會匹配 0abc,但是不能匹配 abc,因為"?"不能匹配空
[root@localhost tmp]# ls [0-9]* 012 0abc
#匹配任何以數字開頭的文件
[root@localhost tmp]# ls [^0-9]* abc abcd
#匹配不以數字開頭的文件