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 示 ...
随机推荐
- TI AM64x工业核心板硬件说明书(双核ARM Cortex-A53 + 单/四核Cortex-R5F + 单核Cortex-M4F,主频1GHz)
1 硬件资源 创龙科技SOM-TL64x是一款基于TI Sitara系列AM64x双核ARM Cortex-A53 + 单/四核Cortex-R5F + 单核Cortex-M4F设计 ...
- [UG 二次开发 python] 导出BOM表(包含图片)
只导出最底层的零件,零件的属性已经设置好,零件的截图生成后,放在零件的同一个文件夹下 用到了 xlsxwriter # nx: threaded # 导出BOM表 __version__ = &quo ...
- Ubuntu 查看用户历史记录
Ubuntu 查看用户历史记录 1. 查看用户命令行历史记录 1. 查看当前登录账号所属用户的历史命令行记录 打开命令行,输入 history 就会看到当前登录账号所属用户的历史记录 2. 查看系统所 ...
- 拟合算法与matlab工具包实现
与插值问题不同,在拟合问题中不需要曲线一定经过给定的点.拟合问题的目标是寻求一个函数(曲线),使得该曲线在某种准则下与所有的数据点最为接近,即曲线拟合的最好(最小化损失函数) 目录 一.插值和拟合的区 ...
- null 和 undefined 的区别?
null 表示一个对象被定义了,值为"空值":undefined 表示不存在这个值.(1)变量被声明了,但没有赋值时,就等于undefined. (2) 调用函数时,应该提供的参数 ...
- 安卓app产品:应用分析工具
这是我独立开发的一款工具类安卓app(名称:应用分析工具),其主要功能是:(Solo 社区投稿) 1.基础信息查看 - 可查看app的包名.签名.权限.版本信息.AndroidManifest.xml ...
- 「Pygors跨平台GUI」1:Pygors跨平台GUI应用研究
「Pygors系列」一句话导读: Python.Go.Rust.C程序跨平台GUI框架研究. 一.问题 Pygors是什么? Pygors是我自己创造的一个词,就是Python.Go.Rust.C四种 ...
- 10 pdf分享失败
PC端分享pdf,复制粘贴pdf链接后跳转搜索首页
- 引入样式在Element UI (Vue 2)和Element Plus (Vue 3)中的不同
引入样式 Element UI (Vue 2): import 'element-ui/lib/theme-chalk/index.css'; Element Plus (Vue 3): im ...
- let 和 const 是 JavaScript 中用于声明变量的关键字
let 和 const 是 JavaScript 中用于声明变量的关键字. let 关键字用于声明可变(可重新赋值)的变量.通过使用 let 关键字声明的变量可以在其作用域内被重新赋值.例如: let ...