Linux下使用diff和patch製作及打補丁

2022-08-21 22:57:13 字數 750 閱讀 7142

diff:是對兩個集合的差運算

patch:是對兩個集合的和運算

diff  a b > c
表達了c= a-b;a 表達了原始檔案,b 表示修改後的檔案。 c 表示補丁檔案

由於歷史原因,diff有三種格式:

* 正常格式(normal diff)

* 上下文格式(context diff)

* 合併格式(unified diff)

我們依次來看。

其中:-c :更詳細的格式,可以標識出不同環境的上下文。

-r 是乙個遞迴選項,設定了這個選項,diff會將兩個不同版本源**目錄中的所有對應檔案全部都進行一次比較,包括子目錄檔案。

-n 選項確保補丁檔案將正確地處理已經建立或刪除檔案的情況。

-u 選項以統一格式建立補丁檔案,這種格式比預設格式更緊湊些。

打補丁

patch a c
得到了b 即a 轉換為了b 檔案。

補丁還原

patch -r b c
得到了a

引數說明:

-p0 選項要從當前目錄查詢目的檔案(夾)

-p1 選項要忽略掉第一層目錄,從當前目錄開始查詢。

-pn選項表示取消n層目錄數

-e 選項說明如果發現了空檔案,那麼就刪除它

-r 選項說明在補丁檔案中的「新」檔案和「舊」檔案現在要調換過來了(實際上就是給新版本打補丁,讓它變成老版本)

linux下Diff命令使用方法

1 diff命令的功能 linux中diff命令的功能為逐行比較兩個文字檔案,列出其不同之處。它對給出的檔案進行系統的檢查,並顯示出兩個檔案中所有不同的行,不要求事先對檔案進行排序。2 語法 diff options file1 file2 該命令告訴使用者,為了使兩個檔案file1和file2一致...

Linux下diff和patch命令以及簡單補丁

補丁 就是對舊版本進行更新。在原有的版本下修改或者新增,減少內容。利用補丁,我們可以方便快捷的修改我們以前的版本。1.製作補丁 先建立兩個檔案a,b 假設b是a的新版本。yangni yangni mypatch touch a b yangni yangni mypatch ls內容分別為 yan...

Linux下patch和diff的用法介紹

1 7z安裝 如果ubuntu中沒有安裝7z軟體,則可通過下列命令進行安裝 sudo apt get install p7zip p7zip full p7zip rar 2 7z解壓 一般而言推薦選用 7z x 壓縮檔案 7z來解壓,因為其是將壓縮檔案解壓到壓縮包命名的目錄下,即解壓到當前資料夾。...