Linux文件打补丁

(最强的武器就是打补丁 ^ ^)

假如有1.c和2.c
在这里插入图片描述
其中2.c为高版本文件,1.c为低版本文件
我们想要用2.c文件替换掉1.c文件中内容
可以用命令diff 1.c 2.c > test.patch
来生成补丁包
在这里插入图片描述
其中patch文件中 '<'代表的是后面要删除的内容,而 '>'代表的是后面要增加的内容。
然后是"1,3c1,3"的意思

为了方便理解我再生成一个补丁包
在这里插入图片描述对比一下"2c2,3",可以发现这句话的意思就是删除第一个文件(旧版本)的第2行,在后面增加另一个文件(新版本)的第2到3行。所以上面的"1,3c1,3"代表的是删除第一个文件的第1到3行,在后面增加第二个文件的第1到3行咯。

接下来是打补丁的操作
用命令 patch -p0 1.c(想被打的文件) < test.patch(补丁)
在这里插入图片描述
在这里插入图片描述
看看那结果是不是和预期一样捏。

另外还有一个反向打补丁的操作(反打的意思吗哈哈)
patch -Rp0 1.c < test.patch (R means : reverse)

在这里插入图片描述
在这里插入图片描述
我的理解是还原打补丁前的文件,将< >这两个符号方向调换,那不就是负负等正吗。

我觉得这打补丁用在大量需要修改文件的项目中有奇效啊。

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值