Linux Shell基礎 通配符


通配符

在 Bash 中,如果需要模糊匹配文件名或目錄名,就要用到通配符。下面為常用的通配符。


表 1 通配符
通配符 作 用
? 匹配一個任意字符
* 匹配 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
#匹配不以數字開頭的文件


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM