【2】技术杂项——patch命令打补丁

《鸟哥的Linux私房菜》 368,patch 命令。

1.patch用法  

 patch -p 数字  <patch_file

2.patch命令示例

cd u-boot-1.1.6/             //进入原文件目录      

patch -p1  <../u-boot-1.1.6_jz2440.patach   
//“p”    表示去掉补丁文件里路径的第几部分。"1",表示去掉第1个
//“<”    指补丁文件位置
// “../” 表示返回上一个目录,因为这补丁文件和原文件在同一目录下

这里我觉得鸟哥说的比网上说的好,见下:

patch -p 数字 < patch_file

特别留意那个『 -p 数字』,那是与 patch_file 里面列出的文件名有关的信息。假如在 patch_file 第一行写的是这样:

*** /home/guest/example/expatch.old

那么当我下达『 patch -p0 < patch_file 』时,则更新的文件是『 /home/guest/example/expatch.old 』, 如果『 patch -p1 < patch_file』,则更新的文件为『home/guest/example/expatch.old』,如果『patch -p4 < patch_file』则更新『expatch.old』,也就是说, -pxx 那个 xx 代表『拿掉几个斜线(/)』的意思!这 样可以理解了吗? 好了,根据刚刚上头的资料,我们可以发现比较的文件是在 main-0.1/xxx 与 main-0.2/xxx ,所以说,如果你是在 main-0.1 底下,并且想要处理更新时,就得要拿掉一个目录 (因 为并没有 main-0.2 的目录存在, 我们是在当前的目录进行更新的!),因此使用的是 -p1 才对喔!

发布了112 篇原创文章 · 获赞 3 · 访问量 9731

猜你喜欢

转载自blog.csdn.net/yush34/article/details/103250917