解決Unix操作系統(tǒng)的效率問(wèn)題
在日常工作中,與Unix操作系統(tǒng)進(jìn)行交互將占用系統(tǒng)工程師大部分的時(shí)間。系統(tǒng)工程師需要經(jīng)常切換目錄、顯示文件、編輯和編譯程序,并不斷的重復(fù)這些動(dòng)作。如果不合適的環(huán)境變量,會(huì)使得系統(tǒng)工程師苦不堪言。
Unix操作系統(tǒng)找出具體的差異
通常情況下,判斷文件(環(huán)境變量)是否存在不同只是系統(tǒng)工程師的第一步。如果發(fā)現(xiàn)有不同的話(huà),則還需要查詢(xún)到底有哪里不同。為了達(dá)到這個(gè)目的,就需要采用comm命令或者diff命令。
如現(xiàn)在有兩個(gè)Unix操作系統(tǒng)文件,分別記錄著不同時(shí)期的環(huán)境變量情況?,F(xiàn)在系統(tǒng)工程師想找出一個(gè)表中沒(méi)有的記錄而在另一個(gè)文件中存在的記錄名字;或者想找出前后兩個(gè)時(shí)期環(huán)境變量沒(méi)有更改過(guò)的記錄。為了實(shí)現(xiàn)這個(gè)目的,則comm命令就能夠解決這個(gè)問(wèn)題。只需要輸入comm env1 env2命令,則系統(tǒng)就會(huì)輸出結(jié)果。在輸出列表中,會(huì)把兩個(gè)文件的不同之處和相同之處說(shuō)得非常清楚。
其中第1列的內(nèi)容表示前面一個(gè)文件獨(dú)有的;第2列中的內(nèi)容表示后面一個(gè)文件獨(dú)有的;第三列中的內(nèi)容則表示兩個(gè)文件共有的。為此Unix操作系統(tǒng)工程師可以根據(jù)自己的需要查看不同列的內(nèi)容。
如想了解前后兩次環(huán)境變量沒(méi)有更改過(guò)的內(nèi)容(即前后兩個(gè)文件都相同的記錄),則可以看第三列的內(nèi)容。如想查看后來(lái)環(huán)境變量更改過(guò)的信息,則可以查看第一、二列中的內(nèi)容。
另外還可以通過(guò)diff文件來(lái)找到連個(gè)文件的差異點(diǎn)。不過(guò)與前面兩個(gè)命令不同,這個(gè)第diff命令顯示的結(jié)果更加具體。這個(gè)命令除了會(huì)顯示兩個(gè)文件不同的地方之外,還會(huì)給Unix操作系統(tǒng)管理員一些提示,表明修改一個(gè)文件中的哪些內(nèi)容可以使得兩個(gè)文件內(nèi)容相同。如果比較的兩個(gè)文件內(nèi)容相同,則會(huì)顯示詳細(xì)信息。
在輸出的結(jié)果中,diff會(huì)用一些特殊符號(hào)或者指令來(lái)表示執(zhí)行哪些更改能夠使得兩個(gè)文件相同。這有利于系統(tǒng)工程師找出前后兩個(gè)文件的具體差異點(diǎn)。當(dāng)系統(tǒng)工程師可以確定后面一個(gè)記錄有問(wèn)題,就可以直接根據(jù)提示來(lái)進(jìn)行更改。故當(dāng)系統(tǒng)工程師確定要更改(如想實(shí)現(xiàn)前后環(huán)境變量一致),則可以直接使用這個(gè)命令。
另外Unix操作系統(tǒng)中有一個(gè)sed使用工具,也需要用到這個(gè)diff命令的結(jié)果。sed 實(shí)用工具是就好像一個(gè)編輯器,但它與其它大多數(shù)編輯器不同。它有連個(gè)很重要的特性,即不面向屏幕之外和非交互式的特性。這也就意味著系統(tǒng)工程師必須將要對(duì)數(shù)據(jù)執(zhí)行的命令插入到命令行或要處理的腳本文件中。sed 在一個(gè)文件或文件集中非交互式、并且不加詢(xún)問(wèn)地接收一系列的命令并執(zhí)行它們。
所以它流經(jīng)文本就如同水流經(jīng)溪流一樣。如通過(guò)這個(gè)命令可以實(shí)現(xiàn)Word等編輯器中的替換功能。如它可以用來(lái)將所有出現(xiàn)的“A”修改為“B”。當(dāng)然其作用遠(yuǎn)遠(yuǎn)不止替換這么簡(jiǎn)單。這個(gè)se 流編輯器非常適合于執(zhí)行重復(fù)的編輯,這種重復(fù)編輯如果由人工完成將花費(fèi)大量的時(shí)間。其參數(shù)可能和一次性使用一個(gè)簡(jiǎn)單的操作所需的參數(shù)一樣有限,或者和一個(gè)具有成千上萬(wàn)行要進(jìn)行編輯修改的腳本文件一樣復(fù)雜。
系統(tǒng)工程師在使用Sed編輯器時(shí)也需要用到diff顯示結(jié)果中的符號(hào)信息。故雖然diff顯示的結(jié)果有點(diǎn)復(fù)雜,但是Unix操作系統(tǒng)工程師還是需要花一番時(shí)間去吃透它。
關(guān)于在Unix操作系統(tǒng)找出具體的差異的知識(shí)我們就講解到這里了,希望對(duì)一些Unix操作系統(tǒng)新手來(lái)說(shuō)有很好的幫助!
【編輯推薦】


















