Linux diff命令詳解

2022-07-07 05:42:11 字數 2164 閱讀 3447

diff(difference)命令常用來比較兩個檔案中的內容。diff 命令在最簡單的情況下,比較兩個檔案的不同。如果使用「-」代替「檔案」引數,則要比較的內容將來自標準輸入。下面良許小編就將linux diff命令進行詳述,希望對大家有所幫助。

diff 命令是以逐行的方式比較文字檔案的異同處。如果該命令指定進行目錄的比較,則將會比較該目錄中具有相同檔名的檔案,而不會對其子目錄檔案進行任何比較操作。

diff 命令的基本格式有兩種,分別如下:

比較檔案

[root@liangxu ~]# diff [選項] 檔名1 檔名2

比較目錄。

[root@liangxu ~]# diff [選項] 目錄1 目錄2

diff 命令常用的選項及功能如表 1 所示。

選 項功 能

-行數指定要顯示多少行的文字。此引數必須與 -c 或 -u 引數一併使用

-adiff 只會逐行比較文字檔案

-b不檢查空格字元的不同

-b不檢查空白行

-c顯示全部內文,並標出不同之處

-c 行數

與執行「-c-行數」指令相同

-d使用不同的演演算法,以較小的單位來做比較

-d此引數的輸出格式可用於前置處理器巨集

-e此引數的輸出格式可用於 ed 的 script 檔案

-f輸出的格式類似 ed 的 script 檔案,但按照原來檔案的順序來顯示不同處

-h比較大檔案時,可加快速度

-i若兩個檔案在某幾行有所不同,而這幾行同時都包含了選項中指定的字元或字串,則不顯示這兩個檔案的差異

-i不檢查大小寫的不同

-l將結果交由 pr 程式來分頁

-n將比較結果以 rcs 的格式來顯示

-n在比較目錄時,若檔案 a 僅出現在某個目錄中,缺省會顯示:only in目錄:檔案 a 若使用 -n 參 數,則 diff 會將檔案 a 與乙個空白的檔案比較

-p若比較的檔案為 c 語言的程式碼檔案時,顯示差異所在的函式名稱

-p與 -n 類似,但只有當第二個目錄包含了乙個第乙個目錄所沒有的檔案時,才會將這個檔案與空 白的檔案做比較

-q僅顯示有無差異,不顯示詳細的資訊

-r比較子目錄中的檔案

-s若沒有發現任何差異,仍然顯示資訊

-s從指定的檔案開始比較目錄

-t在輸出時,將 tab 字元展開

-t在每行前面加上 tab 字元以便對齊

-u以合併的方式來顯示檔案內容的不同

-v顯示版本資訊

-w忽略全部的空格字元

-w在使用 -y 引數時,指定欄寬

-x不比較選項中所指定的檔案或目錄

-x可以將檔案或目錄型別存成文字檔案,然後在?中指定此文字檔案

-y以並列的方式顯示檔案的異同之處

--help

顯示幫助

--left-column

在使用 -y 引數時,若兩個檔案某一行內容相同,則僅在左側的字段顯示該行內容

diff 命令的顯示結果有以下兩種方式:

注意,diff 命令能夠分析並輸出兩個檔案的不同的行。diff 的輸出結果表明需要對乙個檔案做怎樣的操作之後才能與第二個檔案相匹配(與第乙個檔案相比,第二個檔案發生了哪些變化),其中包含三種操作分別為:a=add,c=change,d=delete。diff 命令並不會改變檔案的內容,但是 diff 可以輸出乙個 ed 指令碼來應用這些改變。

//test

1122

3344

5566

77//test1

1122

aa33

4455

bb66

在終端頁面中輸入命令如下:

[root@liangxu ~]# diff test test1

3c3<

---> aa

7c7<

---> bb

9,10d8

< 77

<

輸出資訊的含義分別為:

​ 以上就是良許教程網為各位朋友分享的linux diff命令詳解。

本文由部落格一文多發平台 openwrite 發布!

linux diff 命令詳解

首頁 講述 我與51cto不得不說的故事 部落格互動專題 之 2009,痛並快樂著的it人 2009 02 13 14 01 37 標籤 linux diff 命令 推送到技術圈 功能說明 比較檔案的差異。語 法 diff abbcdefhilnnppqrsttuvwy 行數 c 行數 d 巨集名稱...

Linux diff命令詳解

linux中比較檔案或者資料夾差異,經常用到diff命令,先解釋如下。用法 diff 選項 files 功能 逐行比較檔案。常用選項說明 i ignore case 忽略檔案內容大小寫的區別。ignore file name case 忽略檔名大小寫的區別。no ignore file name c...

Linux Diff命令用法

linux diff命令用於比較檔案的差異。diff以逐行的方式,比較文字檔案的異同處。如果指定要比較目錄,則diff會比較目錄中相同檔名的檔案,但不會比較其中子目錄。語法 diff abbcdefhilnnppqrsttuvwy 行數 c 行數 d 巨集名稱 i 字元或字串 s 檔案 w 寬度 x...