W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
大家可能都遇到過提筆忘字的尷尬,作為Linux運(yùn)維人員,我們有時(shí)候也會遇到明明一個(gè)文件的名稱就在嘴邊但就是想不起來的情況。如果就記得一個(gè)文件的開頭幾個(gè)字母,想遍歷查找出所有以這個(gè)關(guān)鍵詞開頭的文件,該怎么操作呢?又比如,假設(shè)想要批量查看所有硬盤文件的相關(guān)權(quán)限屬性,一種方式是這樣的:
[root@linuxprobe ~]# ls -l /dev/sda
brw-rw----. 1 root disk 8, 0 May 4 15:55 /dev/sda
[root@linuxprobe ~]# ls -l /dev/sda1
brw-rw----. 1 root disk 8, 1 May 4 15:55 /dev/sda1
[root@linuxprobe ~]# ls -l /dev/sda2
brw-rw----. 1 root disk 8, 2 May 4 15:55 /dev/sda2
[root@linuxprobe ~]# ls -l /dev/sda3
ls: cannot access /dev/sda3: No such file or directory
幸虧我的硬盤文件和分區(qū)只有3個(gè),要是有幾百個(gè),估計(jì)需要花費(fèi)一天的時(shí)間來忙這個(gè)事情了。由此可見,這種方式的效率確實(shí)很低。雖然我們在第6章才會講解Linux系統(tǒng)的存儲結(jié)構(gòu)和FHS,但現(xiàn)在我們應(yīng)該能看出一些簡單規(guī)律了。比如,這些硬盤設(shè)備文件都是以sda開頭并且存放到了/dev目錄中,這樣一來,即使我們不知道硬盤的分區(qū)編號和具體分區(qū)的個(gè)數(shù),也可以使用通配符來搞定。顧名思義,通配符就是通用的匹配信息的符號,比如星號(*)代表匹配零個(gè)或多個(gè)字符,問號(?)代表匹配單個(gè)字符,中括號內(nèi)加上數(shù)字[0-9]代表匹配0~9之間的單個(gè)數(shù)字的字符,而中括號內(nèi)加上字母[abc]則是代表匹配a、b、c三個(gè)字符中的任意一個(gè)字符。
Linux系統(tǒng)中的通配符及含義
通配符 | 含義 |
---|---|
* | 任意字符 |
? | 單個(gè)任意字符 |
[a-z] | 單個(gè)小寫字母 |
[A-Z] | 單個(gè)大寫字母 |
[a-Z] | 單個(gè)字母 |
[0-9] | 單個(gè)數(shù)字 |
[[:alpha:]] | 任意字母 |
[[:upper:]] | 任意大寫字母 |
[[:lower:]] | 任意小寫字母 |
[[:digit:]] | 所有數(shù)字 |
[[:alnum:]] | 任意字母加數(shù)字 |
[[:punct:]] | 標(biāo)點(diǎn)符號 |
俗話講“百聞不如一見,看書不如實(shí)驗(yàn)”,下面我們就來匹配所有在/dev目錄中且以sda開頭的文件:
[root@linuxprobe ~]# ls -l /dev/sda*
brw-rw----. 1 root disk 8, 0 May 4 15:55 /dev/sda
brw-rw----. 1 root disk 8, 1 May 4 15:55 /dev/sda1
brw-rw----. 1 root disk 8, 2 May 4 15:55 /dev/sda2
如果只想查看文件名為sda開頭,但是后面還緊跟其他某一個(gè)字符的文件的相關(guān)信息,該怎么操作呢?這時(shí)就需要用到問號來進(jìn)行通配了。
[root@linuxprobe ~]# ls -l /dev/sda?
brw-rw----. 1 root disk 8, 1 May 4 15:55 /dev/sda1
brw-rw----. 1 root disk 8, 2 May 4 15:55 /dev/sda2
除了使用[0-9]來匹配0~9之間的單個(gè)數(shù)字,也可以用[135]這樣的方式僅匹配這三個(gè)指定數(shù)字中的一個(gè),若沒有匹配到,則不會顯示出來:
[root@linuxprobe ~]# ls -l /dev/sda[0-9]
brw-rw----. 1 root disk 8, 1 May 4 15:55 /dev/sda1
brw-rw----. 1 root disk 8, 2 May 4 15:55 /dev/sda2
[root@linuxprobe ~]# ls -l /dev/sda[135]
brw-rw----. 1 root disk 8, 1 May 4 15:55 /dev/sda1
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: