Linux diff命令你总会用到的!

it2026-06-13  8

今天工作中在测试gPRC接口中有个patch方法的接口,要修改文件内容使用到了先diff -u生成.patch文件,再base64编码的操作,才放入content里面,也就顺便不不diff和patch相关的知识点,沉淀出来~

导语:Linux之路–diff命令的运用

作者:变优秀的小白,Click 进入主页

爱好:Americano More Ice !

QQ群(new): 811792998

简介

diff 命令是 Linux 上非常重要的工具,也是svn、cvs、git等版本控制工具不可或缺的一部分。 diff用于比较文件甚至目录的内容,清晰的告诉你前后改动的地方。 diff 可以输出为补丁(patch) ,Linux 中还有一条命令patch,可以根据补丁文件,对文件更新修改。

diff

diff基本语法

# f1为更改前的文件,f2为更改后的文件 $ diff [参数] <f1> <f2>

实战应用

正常diff

实例: diff f1 f2

解释:0a1是说明变动的位置,前边数字代表f1中变化的行,后边的则代表f2中变化的行,中间的字母分别代表“改变”(c)、“删除”(d)和“增加”(a) <表示f1指定行的内容,—分割两个文件的,然后>表示f2指定行的内容。删除或增加时,则分别f2、f1中指定行无内容

$ diff 1.txt 2.txt

实例-效果图:

并列diff

diff -y -W <列宽> f1 f2

解释:并列格式并排显示两个文件的内容变化,更形象看出文件的变化,和vimdiff相似 -y参数,即可并列显示 -W num参数可设定并列的宽度,可以不使用

实例1:

$ diff -y -W 50 1.txt 2.txt

实例1-效果图: 实例2:

$ diff -y -W 30 1.txt 2.txt

实例2-效果图: 实例3:

$ diff -y 1.txt 2.txt

实例3-效果图:

上下文diff

diff -c f1 f2

实例:

$ diff -c 1.txt 2.txt

实例-效果图:

合并diff(常用)

diff -u f1 f2

实例:

$ diff -u 1.txt 2.txt

实例-效果图:

产生补丁

解释:即产生.patch文件

diff -u f1 f2 > file.patch

实例:

$ diff -u 1.txt 2.txt > file.patch

实例-效果图:

生成file.patch文件

file.patch文件内容:

结束语:大家如果遇到什么疑问或者建议的地方,可直接留言评论!作者看到会马上一一回复!
如果小白的博客有建议或批评的,下方留言即可!如果觉得小白此文章对你有所帮助,留下你的点赞👇🏻,Star Click和收藏❤️哦!谢谢谢!
最新回复(0)