補丁:就是對舊版本進行更新。在原有的版本下修改或者新增,減少內容。利用補丁,我們可以方便快捷的修改我們以前的版本。
1.製作補丁:
先建立兩個檔案a,b ,假設b是a的新版本。
[yangni@yangni mypatch]$ touch a b
[yangni@yangni mypatch]$ ls
內容分別為:
[yangni@yangni mypatch]$ cat a
1234567
hello
[yangni@yangni mypatch]$ cat b
1234567
abcdefg
製作補丁命令:patch -nuar 版本1 版本2 > ***.patch
[yangni@yangni mypatch]$ diff -nuar a b > c.patch
[yangni@yangni mypatch]$ ls
a b c.patch[yangni@yangni mypatch]$ cat^c[yangni@yangni mypatch]$ cat c.patch--- a 2017-03-12 05:22:16.907677542 -0800
+++ b 2017-03-12 05:20:08.423677778 -0800
@@ -1,2 +1,2 @@
1234567
-hello
+abcdefg
"+"表示新增的,"-"表示減少的內容
2.打補丁: patch -p0
解除安裝補丁: patch -p0 -r
[yangni@yangni mypatch]$ cat a1234567
hello[yangni@yangni mypatch]$ cat c.patch--- a 2017-03-12 05:22:16.907677542 -0800
+++ b 2017-03-12 05:20:08.423677778 -0800
@@ -1,2 +1,2 @@
1234567
-hello
+abcdefg
[yangni@yangni mypatch]$ patch -p0
可以看到,我們對a進行版本更新。patch除去了hello,增加了abcdefg,相當於所以a內容hello被替換。
解除安裝a的補丁c.patch:patch -p0 -r
出現如下問題:
1、[yangni@yangni patch]$ patch -p0
表示已經打過這個補丁。要重新打補丁,需先解除安裝這個補丁。
stripping trailing crs from patch
如果你的patch是從windows下移到linux下,可以會出現相容性問題。
Linux下使用diff和patch製作及打補丁
diff 是對兩個集合的差運算 patch 是對兩個集合的和運算 diff a b c表達了c a b a 表達了原始檔案,b 表示修改後的檔案。c 表示補丁檔案 由於歷史原因,diff有三種格式 正常格式 normal diff 上下文格式 context diff 合併格式 unified di...
Linux下patch和diff的用法介紹
1 7z安裝 如果ubuntu中沒有安裝7z軟體,則可通過下列命令進行安裝 sudo apt get install p7zip p7zip full p7zip rar 2 7z解壓 一般而言推薦選用 7z x 壓縮檔案 7z來解壓,因為其是將壓縮檔案解壓到壓縮包命名的目錄下,即解壓到當前資料夾。...
linux下Diff命令使用方法
1 diff命令的功能 linux中diff命令的功能為逐行比較兩個文字檔案,列出其不同之處。它對給出的檔案進行系統的檢查,並顯示出兩個檔案中所有不同的行,不要求事先對檔案進行排序。2 語法 diff options file1 file2 該命令告訴使用者,為了使兩個檔案file1和file2一致...