patch diff 补丁文件

diff 和 patch 是一对工具,使用这对工具可以获取更新文件与历史文件的差异,并将更新应用到历史文件上。在数学上说,diff就是对两个集合的差运算,patch就是对两个集合的和运算。在数学上我们知道: A - B = C, 这样我们知道 A、B、C中任意两个数都可以得到第三个数:
下面我们以linux-3.0内核举例说明:
如下图所示,linux目录下有从官网下载的内核源码 linux-3.0还有经过自己DIY重新改过的linux内核 linux-3.0.changed


通过diff命令,生成自己命名的补丁文件。
diff —Nuar linux-3.0 linux-3.0-changed > linux-3.0-patch



此时三个文件的关系是:
linux-3.0  +  linux-3.0-patch = linux-3.0-changed

保存patch补丁后,每次只需使用如下命令,就能给文件打上补丁  :

patch -p0 <linux-3.0-patch

patch -p1 <../linux-3.0-patch
两个命令的区别如图:


-R能将打过补丁的文件还原:
patch -R -p0 < linux-3.0-patch

再一次牢记这四个命令
diff  -Nuar linux-3.0 linux-3.0-changed > linux-3.0-patch
patch -p0 <linux-3.0-patch
patch -p1 <../linux-3.0-patch
patch -R -p0 < linux-3.0-patch

猜你喜欢

转载自blog.csdn.net/xn6666/article/details/79948896