ubuntu下diff patch打补丁

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

2、patch  
------------------ NAME  
       patch - apply a diff file to an original SYNOPSIS  
       patch [options] [originalfile [patchfile]]        but usually just  
       patch -pnum <patchfile>  
------------------  
简单的说,patch就是利用diff制作的补丁来实现源文件(夹)和目的文件(夹)的转换。 
这样说就意味着你可以有源文件(夹)――>目的文件(夹), 
也可以目的文件(夹)――>源文件(夹)。下面介绍几个最常用选项:  
-p0 选项要从当前目录查找目的文件(夹)  
-p1 选项要忽略掉第一层目录,从当前目录开始查找。   
************************************************************  
在这里以实例说明:  
--- old/modules/pcitable       Mon Sep 27 11:03:56 1999  
+++ new/modules/pcitable       Tue Dec 19 20:05:41 2000  
    如果使用参数-p0,那就表示从当前目录找一个叫做old的 文件夹 , 
在它下面寻找modules下的pcitable文件来执行patch操作。  
    如果使用参数-p1,那就表示忽略第一层目录(即不管old), 
从当前目录寻找modules的文件夹,在它下面找pcitable。这样的前提是当前目 
录必须为modules所在的目录。而diff补丁文件则可以在任意位置, 
只要指明了diff补丁文件的路径就可以了。当然,可以用相对路径,也可以用绝 对路径。 
不过我一般习惯用相对路径。  
************************************************************ 
-E 选项说明如果发现了空文件,那么就删除它  
-R 选项说明在补丁文件中的“新”文件和“旧”文件现在要调换过来了(实际上就是给新版本打补丁,让它变成老版本) 
下面结合具体实例来分析和解决,分为两种类型:为单个文件打补丁和为
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值