使用 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...