Linux学习之diff 和 patch命令的使用简介

一、命令的功能

diff命令的功能为逐行比较两个文本文件,列出其不同之处。可是做成diff记录也就是补丁。
patch就是利用diff制作的补丁来打到文件(夹),使其文件文件夹一致。

二、语法

diff [options] file1 file2
patch [options] ori < patchfile

三、主要参数

diff [options]

-a:将所有文件当作文本文件来处理。
-b或–ignore-space-change  忽略空格造成的不同。
-B或–ignore-blank-lines  忽略空行造成的不同。
-c:使用纲要输出格式。
-H:利用试探法加速对大文件的搜索。
-I:忽略大小写的变化。
-n –rcs:输出RCS格式。
-r 是一个递归选项,设置了这个选项,diff会将两个不同版本源代码目录中的所有对应文件全部都进行一次比较,包括子目录文件。
-N 选项确保补丁文件将正确地处理已经创建或删除文件的情况。
-u 选项以统一格式创建补丁文件,这种格式比缺省格式更紧凑些。

patch [options]

-p0 选项要从当前目录查找目的文件(夹)
-p1 选项要忽略掉第一层目录,从当前目录开始查找。

-R 反向转换。即patch -pN的反向操作。

四、例子

[root@vps ~]# cat ipcpu/123.txt
你好哦啊
[root@vps ~]# cat ipcpu0/123.txt
你好哦啊
吃饭了没呀
[root@vps ~]# diff -urN ipcpu ipcpu0 > ipcpu.patch

[root@vps ~]# patch -p0 < ipcpu.patch
patching file ipcpu/123.txt
[root@vps ~]# cat ipcpu/123.txt
你好哦啊
吃饭了没呀


举例:diff -p1 -urN A B > C 

1、diff -p1 -urN ContactsProvider ContactsProvider_tmpback/ > my.patch 

比较两个文件夹内文件的差异,用A B C来表示的话,也即B-A=C 或者 A+C=B


2、cd ContactsProvider_tmpback

patch -R -p1 < ../my.patch

执行以上操作后将变回ContactsProvider 



参考资料:

http://www.ipcpu.com/2010/08/linux-study-diff-patch/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值