++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
二、文件處理命令
mkdir
1.作用
mkdir命令的作用是建立名稱為dirname的子目錄,與MS DOS下的md命令類似,它的使用權(quán)限是所有用戶。
2.格式
mkdir [options] 目錄名
3.[options]主要參數(shù)
-m, --mode=模式:設(shè)定權(quán)限,與chmod類似。
-p, --parents:需要時創(chuàng)建上層目錄;如果目錄早已存在,則不當(dāng)作錯誤。
-v, --verbose:每次創(chuàng)建新目錄都顯示信息。
--version:顯示版本信息后離開。
4.應(yīng)用實例
在進(jìn)行目錄創(chuàng)建時可以設(shè)置目錄的權(quán)限,此時使用的參數(shù)是“-m”。假設(shè)要創(chuàng)建的目錄名是“tsk”,讓所有用戶都有rwx(即讀、寫、執(zhí)行的權(quán)限),那么可以使用以下命令:
$ mkdir -m777 tsk
grep
1.作用
grep命令可以指定文件中搜索特定的內(nèi)容,并將含有這些內(nèi)容的行標(biāo)準(zhǔn)輸出。grep全稱是Global Regular ExpressionPrint,表示全局正則表達(dá)式版本,它的使用權(quán)限是所有用戶。
2.格式
grep [options]
3.主要參數(shù)
[options]主要參數(shù):
-c:只輸出匹配行的計數(shù)。
-I:不區(qū)分大小寫(只適用于單字符)。
-h(huán):查詢多文件時不顯示文件名。
-l:查詢多文件時只輸出包含匹配字符的文件名。
-n:顯示匹配行及行號。
-s:不顯示不存在或無匹配文本的錯誤信息。
-v:顯示不包含匹配文本的所有行。
pattern正則表達(dá)式主要參數(shù):
\:忽略正則表達(dá)式中特殊字符的原有含義。
^:匹配正則表達(dá)式的開始行。
$: 匹配正則表達(dá)式的結(jié)束行。
\:到匹配正則表達(dá)式的行結(jié)束。
[ ]:單個字符,如[A]即A符合要求 。
[ - ]:范圍,如[A-Z],即A、B、C一直到Z都符合要求 。
。:所有的單個字符。
* :有字符,長度可以為0。
fgrep 表示快速匹配,不支持正則表達(dá)式,沒有轉(zhuǎn)義的概念,會對 pattern 中的所有字符進(jìn)行匹配。當(dāng)offset=2時,正則表達(dá)式為:(^.{2}) .表示除\n之外的任意字符,后面加{2} 就是匹配以數(shù)字或字母組成的前兩個連續(xù)字符,加()就會將匹配到的結(jié)果提取出來,然后通過replace將匹配到的結(jié)果替換為新的字符串,形如:結(jié)果=結(jié)果+str。正則表達(dá)式是一種特殊的字符串模式,用于匹配一組字符串,就好比用模具做產(chǎn)品,而正則就是這個模具,定義一種規(guī)則去匹配符合規(guī)則的字符。
“*”代表任意字符類似。在Linux系統(tǒng)上,正則表達(dá)式通常被用來查找文本的模式,以及對文本執(zhí)行“搜索-替換”操作和其它功能。
4.應(yīng)用實例
查詢DNS服務(wù)是日常工作之一,這意味著要維護(hù)覆蓋不同網(wǎng)絡(luò)的大量IP地址。有時IP地址會超過2000個。如果要查看nnn.nnn網(wǎng)絡(luò)地址,但是卻忘了第二部分中的其余部分,只知到有兩個句點,例如nnn nn..。要抽取其中所有nnn.nnn IP地址,使用[0-9 ]\{3
\}\.[0-0\{3\}\。含義是任意數(shù)字出現(xiàn)3次,后跟句點,接著是任意數(shù)字出現(xiàn)3次,后跟句點。
$grep ’[0-9]\{3 \}\.[0-0\{3\}\’ipfile
補(bǔ)充說明,grep家族還包括fgrep和egrep。fgrep是fix grep,允許查找字符串而不是一個模式;egrep是擴(kuò)展grep,支持基本及擴(kuò)展的正則表達(dá)式,但不支持\q模式范圍的應(yīng)用及與之相對應(yīng)的一些更加規(guī)范的模式。