diff
比較兩個(gè)文件的不同,然后記錄下來,也就是所謂的 diff 補(bǔ)丁。
diff [options] from-file to-file
from-file:源文件
to-file:根據(jù)源文件修改后的文件
option:
-u 顯示有差異行的前后幾行(上下文), 默認(rèn)是前后各 3 行, 這樣, patch 中帶有更多的信息
-p 顯示代碼所在的 c 函數(shù)的信息
-N 選項(xiàng)確保補(bǔ)丁文件將正確地處理已經(jīng)創(chuàng)建或刪除文件的情況
-a 逐行比較文本文件
-r 比較子目錄中的文件
打 patch
兩個(gè)文件:需要打補(bǔ)丁的文件 a.c 和 patch 文件 test.patch
打補(bǔ)丁命令如下:
patch a.c < test.patch
實(shí)際操作如下:
補(bǔ)充:
patch -RE < test.patch 取消 patch 對源文件的修改
patch -p1 < test.patch
p 表示跳過幾級目錄,0 標(biāo)識不去掉為全路徑,1 標(biāo)識去掉第一層路徑。路徑信息包含了你的 Linux 源碼根目錄的名稱,但其他人的源碼根目錄可能是其它名字,所以,打補(bǔ)丁時(shí),要進(jìn)入你的 Linux 源碼根目錄,并且告訴 patch 工具,請忽略補(bǔ)丁中的路徑的第一級目錄。
注意:patch -p 后面是不能帶負(fù)數(shù) 的。不使用 p 參數(shù)的時(shí)候,patch 命令會(huì) 忽略 任何目錄,直接使用文件。
多文件打 patch
本文是兩個(gè)文件做比較,打 patch,比較簡單。如果是一個(gè)工程,有多個(gè)文件修改,需要在 diff 后面增加兩個(gè)屬性:
-r 遞歸地對比一個(gè)目錄和它的所有子目錄(即整個(gè)目錄樹).
-N 如果某個(gè)文件缺少了,就當(dāng)作是空文件來對比. 如果不使用本選項(xiàng),當(dāng) diff 發(fā)現(xiàn)舊代碼或者新代碼缺少文件時(shí),只簡單的提示缺少文件。如果使用本選項(xiàng),會(huì)將新添加的文件全新打印出來作為新增的部分。
-
嵌入式
+關(guān)注
關(guān)注
5096文章
19189瀏覽量
308031 -
Linux
+關(guān)注
關(guān)注
87文章
11351瀏覽量
210512 -
patch
+關(guān)注
關(guān)注
0文章
14瀏覽量
8348
發(fā)布評論請先 登錄
相關(guān)推薦
如何在Petalinux下Patch u-boot源碼
![如<b class='flag-5'>何在</b>Petalinux<b class='flag-5'>下</b><b class='flag-5'>Patch</b> u-boot源碼](https://file1.elecfans.com/web3/M00/01/09/wKgZPGdQEpOAD0O1AAAZK-Pd-YI839.png)
請問ESP Wroom 32板如何在LInux下使用?
如何在Linux下安裝字體
Linux下C應(yīng)用程序開發(fā)
如何在Linux下搭建GNU Radio平臺(tái)及它的應(yīng)用分析
![如<b class='flag-5'>何在</b><b class='flag-5'>Linux</b><b class='flag-5'>下</b>搭建GNU Radio平臺(tái)及它的應(yīng)用分析](https://file.elecfans.com/web1/M00/B2/37/o4YBAF4NQpeAa62CAAAgXQuAU74941.png)
如何在Linux下如何刪除大量文件的詳細(xì)資料概述
如何在Win下安裝linux的虛擬機(jī)詳細(xì)安裝方法資料概述
LINUX系統(tǒng)教程之如何在Linux系統(tǒng)下進(jìn)行編程
如何在Linux環(huán)境下搭建51單片機(jī)的開發(fā)燒寫環(huán)境
![如<b class='flag-5'>何在</b><b class='flag-5'>Linux</b>環(huán)境<b class='flag-5'>下</b>搭建51單片機(jī)的開發(fā)燒寫環(huán)境](https://file.elecfans.com/web1/M00/A3/B4/pIYBAF1VC4mAISYKAAKGhSHvY3c470.png)
如何在Linux環(huán)境下實(shí)現(xiàn)Python環(huán)境的搭建
![如<b class='flag-5'>何在</b><b class='flag-5'>Linux</b>環(huán)境<b class='flag-5'>下</b>實(shí)現(xiàn)Python環(huán)境的搭建](https://file.elecfans.com/web1/M00/C4/BB/o4YBAF9DUnmALob3AAMGQ7gWxPk521.png)
在Linux下如何安裝和卸載rpm工具
如何在Linux下打patch(上)
![如<b class='flag-5'>何在</b><b class='flag-5'>Linux</b><b class='flag-5'>下</b><b class='flag-5'>打</b><b class='flag-5'>patch</b>(上)](https://file1.elecfans.com/web2/M00/8E/67/wKgaomTGERqAX_dQAAAuAh46oUM740.jpg)
評論