linux学习——简单记录1(diff和patch的学习)

本文详细介绍了diff命令用于比较两个文件的差异,并展示如何通过patch命令应用这些差异,使源文件内容更新为目标文件内容。通过具体示例,读者可以了解diff参数的作用及patch命令的使用方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、diff命令是比较两个文件,然后给出如何修改源文件成为目标文件


1.1 命令是:diff [-options] 源文件 目标文件 > 比较结果

举例说明:

创建文本:a.txt

文本内容:

aa

bb

cc

创建文本:b.txt

文本内容:

aa

11

bb

cc

进行比较:diff -Naru a.txt b.txt > test.patch  # [-Naru] 是参数 N比较目录,a按行比较,r迭代目录,u生成紧凑比较结果

查看比较结果:

$ cat test.patch
--- a.txt       2018-10-31 00:52:17.794145000 +0800
+++ b.txt       2018-10-31 00:53:16.864278100 +0800
@@ -1,3 +1,4 @@
 aa
+11
 bb
 cc

简单解释:第一个文件的第一行需要添加11 才能和第二文件的相同

下面用patch命令使用这个test.patch补丁。


2、使用patch命令用补丁修改源文件

patch格式:patch [-option] [源文件] < 补丁文件

举例说明:

现在把第一个文件a.txt改变为和第二文件b.txt内容一样

在当前目录中: patch -p0 <test.patch 或者 patch <test.patch

$ patch <test.patch
patching file a.txt
$ cat a.txt
aa
11
bb
cc

#[-p0]是根据在当前目录,使用patch中的目录路径去寻找目标文件,也就是上面test.patch中的---a.txt的路径,路径可能是---/a/b/c/a.txt这样,如何当前在目录a中,patch -p1 < 补丁,如果在b中,使用-p2,同理。就是根据patch的路径找源文件。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值