Linux中patc***件的使用
ware
|-- source |-- sysapps |-- tmp `-- tools 下面在program文件夹下面建立patc***件夹作为实验用,然后进入patc***件夹. 一、为单个文件进行补丁操作 1、建立测试文件test0、test1 [armlinux@lqm patch]$ cat >>test0<<EOF > 111111 > 111111 > 111111 > EOF [armlinux@lqm patch]$ more test0 111111 111111 111111 [armlinux@lqm patch]$ cat >>test1<<EOF > 222222 > 111111 > 222222 > 111111 > EOF [armlinux@lqm patch]$ more test1 222222 111111 111111 2、使用diff创建补丁test1.patch [armlinux@lqm patch]$ diff -uN test0 test1 > test1.patch 【注:单个文件,不需要-r选项.选项顺序没有关系,即可以是-uN,也可以是-Nu.】 [armlinux@lqm patch]$ ls test0 test1 test1.patch [armlinux@lqm patch]$ more test1.patch ************************************************************ patc***件的结构 补丁头 补丁头是分别由---/ 开头的两行,用来表示要打补丁的文件.---开头表示旧文件, 开头表示新文件. 一个补丁文件中的多个补丁 一个补丁文件中可能包含以---/ 开头的很多节,每一节用来打一个补丁.在一个补丁文件中可以包含好多个补丁. 块 块是补丁中要修改的地方.它通常由一部分不用修改的东西开始和结束.他们只是用来表示要修改的位置.他们通常以@@开始,结束于另一个块的开始或者一个新的补丁头. 块的缩进 块会缩进一列,而这一列是用来表示这一行是要增加还是要删除的. 块的第一列 号表示这一行是要加上的. -号表示这一行是要删除的. 没有加号也没有减号表示这里只是引用的而不需要修改. ************************************************************ ***diff命令会在补丁文件中记录这两个文件的首次创建时间,如下*** --- test0 2006-08-18 09:12:01.000000000 0800 test1 2006-08-18 09:13:09.000000000 0800 @@ -1,3 1,4 @@ 222222 111111 -111111 222222 111111 [armlinux@lqm patch]$ patch -p0 < test1.patch patching file test0 [armlinux@lqm patch]$ ls font face="Times New Roman">test0 test1 test1.patch [armlinux@lqm patch]$ cat test0 222222 111111 222222 111111
3、可以去除补丁,恢复旧版本 [armlinux@lqm patch]$ patch -RE -p0 < test1.patch patching file test0 [armlinux@lqm patch]$ ls test0 test1 test1.patch [armlinux@lqm patch]$ cat test0 111111 111111 111111 二、为多个文件进行补丁操作 1、创建测试文件夹 [armlinux@lqm patch]$ mkdir prj0 [armlinux@lqm patch]$ cp test0 prj0 [armlinux@lqm patch]$ ls prj0 test0 test1 test1.patch [armlinux@lqm patch]$ cd prj0/ [armlinux@lqm prj0]$ ls test0 [armlinux@lqm prj0]$ cat >>prj0name<<EOF > -------- > prj0/prj0name > -------- > EOF [armlinux@lqm prj0]$ ls prj0name test0 [armlinux@lqm prj0]$ cat prj0name -------- prj0/prj0name -------- [armlin |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |