patch即補丁之意,記錄文件中的不一樣,可以與文件進行整合,從而改變文件中的內容html
在Linux系統中提供了diff程序,能夠使用diff程序,比較文件之間的不一樣從而製做出patch文件學習
mkdir diff vi test1.txt vi test2.txt
test1.txt文件內容以下spa
aaaa
test2.txt文件內容以下.net
aaaa
bbbb
diff -Naur test1.txt test2.txt > test.patch
以後在當前目錄中會存在三個文件code
test1.txt test2.txt test.patch
test.patch 文件的內容htm
--- test1.txt 2018-08-01 13:17:33.530350672 +0800 +++ test2.txt 2018-08-01 13:18:54.326350260 +0800 @@ -1 +1,2 @@ aaaa +bbbb
diff參數解釋
-N 在比較目錄時若是某個文件只出現了一次,那麼在比較不一樣時會默認和空文件比較
-a 將全部的文件都做爲普通text(之比較文本文件)
-u 以合併的方式顯示文件內容的不一樣
-r 若是是文件夾則進行遞歸進行比較blog
mkdir patch cp test1.txt test.patch../patch/
patch -p0 < test.patch
test1.txt文件內容以下遞歸
aaa
bbb
能夠看到patch已經打進去了
參數介紹
patch命令中最經常使用的就是-pX這個參數
在上面咱們注意到patch文件以下內容博客
--- test1.txt 2018-08-01 13:17:33.530350672 +0800
此時咱們的參數爲-p0,此時patch 就會在當前目錄下尋找test1.txt文件,如在在patch文件中是這樣記錄的class
---a/b/test1.txt 2018-08-01 13:17:33.530350672 +0800
那麼-p0會在當前目錄下尋找a目錄,a目錄下尋找b,以後在b中尋找test1.txt文件。
若是是 -p1,patch命令就會捨棄a,先尋找b再尋找test1.txt
若是是-p2 ,會捨棄a/b,直接尋找test1.txt
因此-pX中 X表明就是所要捨棄的層級目錄
patch還有不少參數,可是-pX是最爲經常使用的
patch多用於系統升級,只要有一個基礎版本,以及基於這個版本的一些patch,就能夠進行升級
轉自
patch -p0 和patch -p1的區別 | 學步園 https://www.xuebuyuan.com/zh-hant/1166329.html
patch的學習和使用 - 簡書 https://www.jianshu.com/p/1df286850317
patch命令用法 - 車子(chezi) - CSDN博客 https://blog.csdn.net/longintchar/article/details/74151042