linux系统补丁工具patchanddiff

linux系统补丁工具patchanddiff

ID:43033164

大小:34.50 KB

页数:3页

时间:2019-09-26

linux系统补丁工具patchanddiff_第1页
linux系统补丁工具patchanddiff_第2页
linux系统补丁工具patchanddiff_第3页
资源描述:

《linux系统补丁工具patchanddiff》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、Linux系统补丁工具patchANDdiff一、工具概述:diff制作补丁的工具diff后而可以接两个文件名或两个目录名生成补丁patch打补丁的工具Patch用途:根据原文件和补丁文件生成H标文件在数学上來说,diff类似于对两个集合的差运算,patch类似于对两个集合的和运算。diff比较两个文件或文件集合的差异,并记录下來,生成一个diff文件,这也是我们常说的patch文件,即补丁文件。patch能将diff文件运用于原來的两个集合乙一,从而得到另一个集合。举个例了来说文件A和文件B,经过diff之后生

2、成了补丁文件C,那么这个过程相当于IA-Bl=C,那么patch的过程就是B+C=A或A-C=B(A+C=B或者B-C=A)«因此我们只要能得到A,B,C三个文件中的任何两个,就能用diff和patch这对工具生成另外一个文件。这就是diff和patch的妙处。补丁Patch是天才程序员、Perl的发明者LarryWall发明的,它应高效地交流程序源代码之需求而生,随着以Linux为代表的开发源代码运行的蓬勃发展,patch这个概念已经成为开放源代码发起者、贡献者和参与者的集体无意识的一部分。patch只包含了对

3、源代码修改的部分,这对于开放源代码社区的协同开发模式具有重要意义,意味的软件新版木的发布和对软件的缺陷或改进可以以更小的文件发布,可以减少网络的传输量,方便软件维护者的管理工作。patch文件有多种格式,不同平台上所支持的格式不尽相同,但最常见的是context格式和unified格式。context格式被广泛使用,是patch文件格式事实上的标准。该格式包含了差异部分及其邻近的若干行,邻近就是所谓的上下文,这些行虽然没有变化,但它们出现在patch文件使得还原patch的程序具备更强的容错性。unified格式

4、常见于GNU的patch实现,以patch形式发布的linux内核就使用了该格式。此外,还有其它比佼少用的格式,如Normal格式,并排对比模式(side-by-side),edscript和RCSscript模式等。除了并排对比模式方便用户观察文件差异,其它格式人多数是为了兼容旧的patch格式。二、工具的用法1、diff的用法diff后面可以接两个文件名或两个目录名生成补丁,例如:diff[option]oldfilenewfile如果是一个目录名加一个文件名,那么只作用在那么个目录卜的同名文件。例如:dif

5、f/usr/xumine把冃录/usr/xu中名为mine的文件与当前Fl录中的mine文件进行比较。Diff常用的option选项冇:1・r比较目录时,进行递归比较,用于产生整个代码树的patchl-u输出统一格式,diff有,,传统”和”统一”两种格式,现在一般使用”统一”格式,比较而言,统一格式牛成的文件大,但包含了更多的信息,有利于阅读与定位1-N表示如果文件不存在则将其等价为空文件,这个用于产生有文件增加或删除的patchl-a补丁中包含二进制文件缺省时,diff向标准输出打印,所以一般都重定向到文件并

6、以patch为后缀,也就是所谓的补丁文件。关于二进制文件的说明:binary文件可以原始方式存入patch文件。diff可以生成(加-a选项),patch也可以识别。如果觉得这样的patch文件太难看,解决方法之一是用uuencode处理该binary文件。如果是两个冃录的话,作用于该冃录下的所冇文件,不递归。如果我们希望递归执行,需要使用・r参数。不加任何参数生成的diff文件格式是一种简单的格式,这种格式只标出了不一样的行数和内容。我们需要一种更详细的格式,可以标识出不同之处的上下文环境,这样更有利于提高pa

7、tch命令的识别能力。这个时候可以用-c开关。可以参考表1diff的命令行选项和参数。diff的命令行选项和参数:-a将所冇的文件看作文木,既使文件看起來像是二进制的也不例外,并且进行逐行比较【二进制文件必须加上这个参数】-b忽略块中空白数bl的改变-B忽略插入或删除空行造成的改变-c产生”上下文"(context)格式的输出-C[num]产牛•”上下文^(context)格式的输出,显示块询后num行的内容,如果不指定num的值,则显示块前后3行的内容・H修改diff处理大文件的方式・i忽略大小写-1regex

8、p忽略插入或删除与正则表达式regexp匹配的行-1将输出结果通过pr命令处理加上页码・p显示出现块的C函数・q只报告文件是否不同;不输出差别汀比较目录时,进行递归比较,用于产生整个代码树的patch-s报告两个文件相同(默认的行为是不报告相同的文件)-t输出时tab扩展为空白・u产生”统一气unified)格式的输III-U[num]产生”统一”(unified)格式的

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。