Mac diff 使用手冊

2021-08-15 05:11:54 字數 1850 閱讀 4798

使用 info diff 命令檢視diff的詳細使用說明

(可以使用enter、backspace在鏈結之間跳轉。星號*用於標識鏈結)

比較檔案、合併檔案

*************************

本手冊用於 gnu diffutils (version 2.8.1) 以及

* 用 diff、diff3、sdiff、cmp 顯示檔案差異

* 用 patch 更新檔案內容

* 目錄

*************

概論:基礎知識

比較:檔案比較的使用場合

輸出格式:二路檔案的差異顯示格式

不完整的行:缺少後續新行的行

目錄的比較:比較檔案和目錄

調整輸出:讓diff的輸出更好看

diff效能:讓diff的執行更快

比較三個檔案:三路檔案的差異顯示格式

diff3 合併:從乙個共同的先檔案版本,進行合併

互動式合併:sdiff命令

使用patch合併:利用patch更新檔案內容

製作patch(補丁):

使用cmp:按位元組比較檔案內容

使用diff:按行比較檔案內容

使用diff3:按行比較三個檔案的內容

使用patch:用乙個diff檔案(補丁)更新檔案

使用sdiff:把兩個檔案併排,然後進行互動式合併

概論:***********

diff命令可以比較兩個檔案;也可以比較兩個目錄的對應同名的檔案。

diff逐行顯示檔案的差異時,有幾種格式可選。

顯示的差異,可稱作diff或patch。

若兩檔案相同,diff無輸出;若兩檔案是二進位制,diff只報告檔案是否相同。

cmp命令用於按位元組顯示檔案的差異;也可只顯示兩檔案的不同之處(不同的位元組),以併排的方式。

diff3命令用於三個檔案的比較。三個檔案分別是:

* 原始檔案

* 使用者a基於原始檔案做了更新的檔案a

* 使用者b基於原始檔案做了更新的檔案b

diff3的功能:

* 同時顯示兩個使用者各自對原始檔案的更改

* 把兩個使用者的更改合併到一起(如果有衝突,則需解決衝突)

乙個常見的使用場景:用diff命令生成「差異檔案」,把該檔案分發給其他人。然後其他人用patch命令把差異檔案合併到他們自己的檔案裡。

當檔案之間的差異很小時,這種方法很方便。

檔案比較的使用場合

****************

檔案之間的差異一般細化到行。當兩檔案對比時,以其一為底本,以另乙個檔案為對照,其差異可分而類之:

* 某行被刪掉了

* 某行是新新增的

* 某行有若干字元被更新

diff命令可:

* 只顯示檔案是否不同,不顯示差異的詳細情況。

* 顯示差異的詳情時,忽略某些你不關心的東西。(比如單詞間的空格)

* 忽略大小寫

* 用正規表示式定義可忽略的行

二進位制檔案沒有「行」的概念,所以,使用cmp對比檔案,是按位元組逐個比較。

如果你只想知道,兩個文字檔案是否完全相同,也可使用cmp。

diff3命令一般用於三個文字檔案的逐行比較。

二進位制檔案比較,強制以文字方式逐行比較

******************************

diff命令比較兩檔案時,若發現其中之一是二進位制格式,則把兩檔案都視為二進位制,且最後只報告檔案是否相同。

diff命令判斷乙個檔案是否是二進位制,靠的是檔案首的若干字元。具體數目由作業系統決定。一般是幾千個。如果這幾千個位元組裡沒有'\0'(空字元),則視之為文字檔案。

你可以強制diff把兩檔案視為文字檔案,進行逐行比較。使用-a或--text。

CVS使用手冊

注意 第一次匯出以後,就不是通過cvs checkout來同步檔案了,而是要進入剛才cvs checkout project name匯出的project name目錄下進行具體檔案的版本同步 新增,修改,刪除 操作。cvs的許可權管理分2種策略 基於系統檔案許可權的系統使用者管理 適合多個在lin...

sed使用手冊

原貼 http blog.chinaunix.net u 23204 showart 305602.html sed使用手冊 原創 在sed語句,正規表示式必須封閉在 中間。如 d,刪除空行。sed位址 在sed位址管理中,預設是對全域性進行操作,同時位址可以分為行位址和模式位址。如1,10d 12...

vi 使用手冊

進入vi的命令 vi filename 開啟或新建檔案,並將游標置於第一行首 vi n filename 開啟檔案,並將游標置於第n行首 vi filename 開啟檔案,並將游標置於最後一行首 vi pattern filename 開啟檔案,並將游標置於第乙個與pattern匹配的串處 vi r...