新聞中心
大家可能都遇到過提筆忘字的尷尬,作為L(zhǎng)inux運(yùn)維人員,我們有時(shí)候也會(huì)遇到明明一個(gè)文件的名稱就在嘴邊但就是想不起來的情況。如果就記得一個(gè)文件的開頭幾個(gè)字母,想遍歷查找出所有以這個(gè)關(guān)鍵詞開頭的文件,該怎么操作呢?又比如,假設(shè)想要批量查看所有硬盤文件的相關(guān)權(quán)限屬性,一種方式是這樣的:

目前成都創(chuàng)新互聯(lián)公司已為成百上千的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)頁(yè)空間、網(wǎng)站托管維護(hù)、企業(yè)網(wǎng)站設(shè)計(jì)、橫山網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長(zhǎng),共同發(fā)展。
[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í)很低。雖然我們?cè)诘?章才會(huì)講解Linux系統(tǒng)的存儲(chǔ)結(jié)構(gòu)和FHS,但現(xiàn)在我們應(yīng)該能看出一些簡(jiǎn)單規(guī)律了。比如,這些硬盤設(shè)備文件都是以sda開頭并且存放到了/dev目錄中,這樣一來,即使我們不知道硬盤的分區(qū)編號(hào)和具體分區(qū)的個(gè)數(shù),也可以使用通配符來搞定。顧名思義,通配符就是通用的匹配信息的符號(hào),比如星號(hào)(*)代表匹配零個(gè)或多個(gè)字符,問號(hào)(?)代表匹配單個(gè)字符,中括號(hào)內(nèi)加上數(shù)字[0-9]代表匹配0~9之間的單個(gè)數(shù)字的字符,而中括號(hào)內(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)符號(hào) |
俗話講“百聞不如一見,看書不如實(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í)就需要用到問號(hào)來進(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è),若沒有匹配到,則不會(huì)顯示出來:
[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 當(dāng)前名稱:創(chuàng)新互聯(lián)linux教程:3.3命令行的通配符
文章分享:http://m.fisionsoft.com.cn/article/ccoppjj.html


咨詢
建站咨詢
