diff命令是linux上非常重要的工具,用于比較文件的內(nèi)容,特別是比較兩個(gè)版本不同的文件以找到改動(dòng)的地方。diff在命令行中打印每一個(gè)行的改動(dòng)。最新版本的diff還支持二進(jìn)制文件。diff程序的輸出被稱為補(bǔ)丁(patch),因?yàn)長inux系統(tǒng)中還有一個(gè)patch程序,可以根據(jù)diff的輸出將a.c的文件內(nèi)容更新為b.c。diff是svn、cvs、git等版本控制工具不可或缺的一部分。
1.命令格式:
diff[參數(shù)][文件1或目錄1][文件2或目錄2]
2.命令功能:
diff命令能比較單個(gè)文件或者目錄內(nèi)容。如果指定比較的是文件,則只有當(dāng)輸入為文本文件時(shí)才有效。以逐行的方式,比較文本文件的異同處。如果指定比較的是目錄的的時(shí)候,diff命令會(huì)比較兩個(gè)目錄下名字相同的文本文件。列出不同的二進(jìn)制文件、公共子目錄和只在一個(gè)目錄出現(xiàn)的文件。
3.命令參數(shù):
-指定要顯示多少行的文本。此參數(shù)必須與-c或-u參數(shù)一并使用。
-a或--textdiff預(yù)設(shè)只會(huì)逐行比較文本文件。
-b或--ignore-space-change不檢查空格字符的不同。
-B或--ignore-blank-lines不檢查空白行。
-c顯示全部內(nèi)文,并標(biāo)出不同之處。
-C或--context與執(zhí)行"-c-"指令相同。
-d或--minimal使用不同的演算法,以較小的單位來做比較。
-D或ifdef此參數(shù)的輸出格式可用于前置處理器巨集。
-e或--ed此參數(shù)的輸出格式可用于ed的script文件。
-f或-forward-ed輸出的格式類似ed的script文件,但按照原來文件的順序來顯示不同處。
-H或--speed-large-files比較大文件時(shí),可加快速度。
看到了,第一個(gè)框中是輸入查找的字符串的,下面的那個(gè)”search in"中l(wèi)inux命令,你可以選擇,是所有工程,還是當(dāng)前文件(這個(gè)我們在2.1中介紹了更簡單的方法),還有其他的選項(xiàng),你自己可以查看,一般我是使用這個(gè)在所有工程中查找字符的,而下面還有一個(gè)options選項(xiàng),是選擇:大小寫敏感,全詞匹配,可以直接按照我設(shè)置的來設(shè)置就可以了,然后點(diǎn)擊ok,就會(huì)顯示搜索到的包含改字符串的行和文件信息,如下:。options:該參數(shù)可以省略,指定包含時(shí)的選項(xiàng),包含encoding和parse兩個(gè)選項(xiàng),其中encoding指定包含頁面時(shí)所用的解碼集,而parse指定被包含文件是否作為ftl文件來解析,如果省略了parse選項(xiàng)值,則該選項(xiàng)默認(rèn)是true.。包含public目錄下面的header模板
-i或--ignore-case不檢查大小寫的不同。
-l或--paginate將結(jié)果交由pr程序來分頁。
-n或--rcs將比較結(jié)果以RCS的格式來顯示。
-N或--new-file在比較目錄時(shí),若文件A僅出現(xiàn)在某個(gè)目錄中,預(yù)設(shè)會(huì)顯示:Onlyin目錄:文件A若使用-N參數(shù),則diff會(huì)將文件A與一個(gè)空白的文件比較。