patch 和 diff 的使用

  1 、 diff 

  
  -------------------- 
  
  NAME 
  
   diff - find differences between two files 
  
  SYNOPSIS 
  
   diff [options] from-file to-file 
  
  -------------------- 
  
  简单的说, diff 的功能就是用来比较两个文件的不同,然后记录下来,也就是所谓的 diff 补丁。语法格式: diff 【选项】 源文件(夹) 目的文件(夹) ,就是要给源文件(夹) 打个补丁,使之变成目的文件(夹) ,术语也就是“升级”。下面介绍三个最为常用选项: 
  
  -r 是一个递归选项,设置了这个选项, diff 会将两个不同版本源代码目录中的所有对应文件全部都进行一次比较,包括子目录文件。 
  
  -N 选项确保补丁文件将正确地处理已经创建或删除文件的情况。 
  
  -u 选项以统一格式创建补丁文件,这种格式比缺省格式更紧凑些。 

       -w 忽略所有空格和制表符,将所有其他空白字符串视为一致。例如,if ( a == b ) 与 if(a==b) 相等。

    -B 忽略空行,回车


  2 、 patch 
  
  ------------------ 
  
  NAME 
  
   patch - apply a diff file to an original 
  
  SYNOPSIS 
  
   patch [options] [originalfile [patchfile]] 
  
   but usually just 
  
   patch -pnum 
  
  ------------------ 
  
  简单的说, patch 就是利用 diff 制作的补丁来实现源文件(夹) 和目的文件(夹) 的转换。这样说就意味着你可以有源文件(夹) ―― > 目的文件(夹) ,也可以目的文件(夹) ―― > 源文件(夹)。 下面介绍几个最常用选项: 
  
  -p0 选项要从当前目录查找目的文件(夹) 
  
  -p1 选项 要忽略掉第一层目录,从当前目录开始查找。 
  

  -E 选项说明如果发现了空文件,那么就删除它 
  
  -R 选项说明在补丁文件中的 “ 新 ” 文件和 “ 旧 ” 文件现在要调换过来了(实际上就是给新版本打补丁,让它变成老版本) 

 -N 忽略差别已经向文件应用了的补丁。缺省情况下,会拒绝已经应用的补丁。
  ************************************************************ 
 


一般应用:

diff -urNwB dir1/ dir2/ > dir2.patch

打补丁的命令:

进入dir2中

#patch -Np1 < ../dir2.patch

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值