(2) Linux中diff与patch用法

  diff命令

  diff命令常用来比较文件、目录,也可以用来制作补丁文件。所谓补丁文件就是“修改后的文件”与“原始文件”的差别。

  常用的选项如下:

1 "-u": 表示在比较结果中输出上下文中一些相同的行,有利于人工定位
2 "-r": 表示递归比较各个子目录下的文件
3 "-N": 将不存在的文件当作空文件
4 "-w": 忽略对空格的比较
5 "-B": 忽略对空行的比较

  举例说明:
 $  diff  -urNwB linux-2.6.22.6 linux-2.6.22.6_ok  > linux-2.6.22.6_ok.diff
其中linux-2.6.22.6为原始文件、linux-2.6.22.6_ok为修改后的文件,使用上述命令可以制作补丁文件linux-2.6.22.6_ok.diff



  patch 命令

  patch命令被用来打补丁,根据补丁文件来修改原始文件。对于上面的例子,可以使用一下命令将补丁文件linux-2.6.22.6_ok.diff应用到原始目录linux-2.6.22.6上去。假设linux-2.6.22.6_ok.diff 和linux-2.6.22.6位于同一个目录下。

 $ cd  linux-2.6.22.6
 $ patch -p1 <  ../linux-2.6.22.6_ok.diff

patch命令中最重要的选项是”-pn“:补丁文件中指明了要修改的文件路径,”-pn“表示忽略路径中第n个斜线之前的目录。假设linux-2.6.22.6_ok.diff中有如下几行:
diff -urNwB  linux-2.6.22.6/A/B/C.h  linux-2.6.22.6_ok/A/B/C.h
--- linux-2.6.22.6/A/B/C.h  2007-08-31  02:;21:01.00000000  -0400
+++ linux-2.6.22.6_ok/A/B/C.h  2007-09-30  18:;11:01.00000000  -0400
... ...

使用上述命令打补丁时,patch命令根据”linux-2.6.22.6/A/B/C.h“寻找源文件,”-p1“表示忽略第1个斜线之前的目录,所以要修改的源文件是当前目录下的:A/B/C.h
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值