diff 输出解释
diff
最原始的 diff
我们先编写两个文件:
f1:
1
2
3
4
5
6
7
8
9
f2:
1
2
3
4
5
66
7
8
9
然后我们进行比较:
diff f1 f2
6c6
< 6
---
> 66
第一部分
6c6:表示变动的位置- 第一个
6表示文件 f1 的第 6 行有变化 c表示变动模式是change(变更)。除了change外,变动模式还有add(新增)和delete(删除)- 第二个
6表示变动后变成 f2 的第 6 行
- 第一个
第二行
< 6和 f1 相关。<表示要从 f1 当中去除该行,后面的6表示该行的内容第三行
---用来分割 f1 和 f2 的内容第四行
> 66和 f2 相关。>表示 f2 增加了该行,后面的66表示该行的内容
context diff
显示上下文模式的 diff
上下文各显示 3 行
diff -c f1 f2
*** f1 Mon Mar 11 21:05:01 2024
--- f2 Mon Mar 11 21:04:56 2024
***************
*** 3,9 ****
3
4
5
! 6
7
8
9
--- 3,9 ----
3
4
5
! 66
7
8
9
- 第一部分
*** f1 Mon Mar 11 21:05:01 2024:文件名和时间***表示变动前的文件---表示变动后的文件
- 第三行的星号
***************是分隔符 - 分隔符下的第二部分第一段:
***表示变动前的文件3,9表示下面的内容是该文件的第 3 到 9 行- 每行前面的标记位,
+表示该行为新增,!表示该行有改动,-表示该行被删除
- 分隔符下的第二部分第二段:
---表示变动后的文件
unified diff
合并模式的 diff
diff -u f1 f2:
--- f1 2024-03-11 21:08:41
+++ f2 2024-03-11 21:08:40
@@ -3,7 +3,7 @@
3
4
5
-6
+66
7
8
9
- 第一部分
--- f1 2024-03-11 21:08:41:文件名和时间---表示变动前的文件+++表示变动后的文件
- 第二部分
@@ -3,7 +3,7 @@:表示变动的位置-3,7:-号表示变动前的文件,3,7表示从第 3 行开始的连续 7 行+3,7:表示变动后的文件的从第 3 行开始的连续 7 行
- 第三部分:变动的具体内容,上下文各显示 3 行
- 标志位
-表示第一个文件删除的行 - 标志位
+表示第二个文件新增的行
- 标志位
附:git 版本的 diff
git diff
diff --git a/f1 b/f1
index 6f8a38c..449b072 100644
--- a/f1
+++ b/f1
@@ -3,7 +3,7 @@
3
4
5
-6
+66
7
8
9
- 第一部分
diff --git a/f1 b/f1:diff --git表示这是 git 版本的 diffa/f1 b/f1表示进行比较的是 a 版本的 f1(即变动前)和 b 版本的 f1(即变动后)
- 第二部分
index 6f8a38c..449b072 100644:index xxx..xxx表示两个版本的 git 哈希值(index 区域的6f8a38c对象,与工作目录区域的449b072对象进行比较)100644是对象的模式(普通文件,644 权限)
- 后面的部分与 unified 模式相同
diff 输出解释的更多相关文章
- 《The Linux Command Line》 读书笔记03 ls命令与长格式输出解释 文件权限
ls命令与长格式输出解释 文件权限 ls命令 ls 命令用于列出目录内容,不带参数时列出当前工作目录的内容,也可以指定目标目录(可以指定多个),列出目标目录下的内容. ls命令的参数 ls -l 长格 ...
- 【转】top命令输出解释以及load average 详解及排查思路
https://blog.csdn.net/zhangchenglikecc/article/details/52103737 昨天nagios报警warning,没来得及留下报警截图,nagios值 ...
- top命令输出解释以及load average 详解及排查思路
原地址: https://blog.csdn.net/zhangchenglikecc/article/details/52103737 1.top输出以及load average 详解 昨天nagi ...
- linux diff具体解释
diff是Unix系统的一个非常重要的工具程序. 它用来比較两个文本文件的差异,是代码版本号管理的基石之中的一个.你在命令行下,输入: $ diff <变动前的文件> <变动后的文件 ...
- Linux面试必问-对照目录内容的命令“Diff”具体解释
dir1下有个log_1.log dir2下有个log_2.log 两个文件例如以下: p_ylwu@VM_194_111_sles10_64:/home/jdxochen/exercise> ...
- [系统资源]/proc/meminfo和free输出解释
High Level statistics RHEL 5, RHEL 6 and RHEL 7 MemTotal: Total usable memory MemFree: The amount of ...
- Linux ps -ef 命令输出解释
UID: 程序拥有者PID:程序的 IDPPID:程序父级程序的 IDC: CPU 使用的百分比STIME: 程序的启动时间TTY: 登录终端TIME : 程序使用掉 CPU 的时间CMD: 下达的 ...
- Linux下diff的操作详解
总述 Linux diff命令用于比较文件的差异.diff以逐行的方式,比较文本文件的异同处.特别是比较两个版本不同的文件,如果指定要比较目录,则diff会比较目录中相同文件名的文件,但不会比较其中子 ...
- svn diff 详解
UI版: 如果多人编辑同一段代码,常常容易出现冲突的情况: 如果出现冲突,我们如何解决他呢? 1 可以选择使用自己的文件mime file,也可以使用 他们的文件 their file 2 解决冲突, ...
- diff输出格式解析
1 命令格式 $diff <变动之前的文件> <变动之后的文件> 2 diff文件的三种格式 normal diff context diff unified diff 3 示 ...
随机推荐
- 3568F-Docker容器部署方法说明
- 国芯新作 | 四核Cortex-A53@1.4GHz,仅168元起?含税?哇!!!
获取更多T507全国产平台资料可在评论区留言或关注官方公众号~
- NXP i.MX 8M Plus工业核心板硬件说明书( 四核ARM Cortex-A53 + 单核ARM Cortex-M7,主频1.6GHz)
1 硬件资源 创龙科技SOM-TLIMX8MP是一款基于NXP i.MX 8M Plus的四核ARM Cortex-A53 + 单核ARM Cortex-M7异构多核处理器设计的高端 ...
- Spring5.X常见的注入方式
使用set方法注入 Video.java package net.cybclass.sp.domain; public class Video { private int id; private St ...
- .NET 按格式导出txt
效果图 后台代码 private void DownTxt() { try { StringBuilder sb = new StringBuilder(); for (int i = 0; i &l ...
- 洛谷P5020
水一道绿题... #include<iostream> #include<utility> #include<algorithm> using namespace ...
- Python 潮流周刊第 2 季完结了,分享几项总结
我订阅了很多的周刊/Newsletter,但是发现它们都有一个共同的毛病:就是缺乏对往期内容的整理,它们很少会对内容数据作统计分析,更没有将内容整理成合集的习惯. 在自己开始连载周刊后,我就想别开生面 ...
- [oeasy]python0139_尝试捕获异常_ try_except_traceback
- 不但要有自己的报错 - 还要保留系统的报错 - 有可能吗? ### 保留报错 ! ...
- 题解:P10672 【MX-S1-T1】壁垒
暑期集训=依托答辩. 分析 种类数是奇数一定无解. 否则每种数字先输出一次,在此过程中每增加两个数时,因为每个数字种类数都不一样,所以前缀种类数也同时增加 \(2\),保证一定为偶数. 然后输出完以后 ...
- UE5 打不开
在游戏开发中,出现了UE打不开的情况 初步推测,新增了接口Attacker, 而我们的DefaultPawn可能一下子实现了两个接口造成的 而这两个接口都在一个插件里,一个是c++实现的,一个是蓝图实 ...