如何阅读 diff 命令的输出
diff 命令有三种模式:上下文模式(context),合并模式(unified)和普通模式(normal)。其中最常用的是合并模式。
合并模式
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
+++ f2 2024-03-11 21:08:40
---表示变动前的文件+++表示变动后的文件
第二部分表示变动的位置
@@ -3,7 +3,7 @@
-3,7:-号表示变动前的文件,3,7表示从第 3 行开始的连续 7 行+3,7:表示变动后的文件的从第 3 行开始的连续 7 行
第三部分表示变动的具体内容,上下文各显示 3 行
-6
+66
- 标志位
-表示第一个文件删除的行 - 标志位
+表示第二个文件新增的行
- 标志位
附: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 模式相同
上下文模式
上下文各显示 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
--- 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
***表示变动前的文件---表示变动后的文件3,9表示下面的内容是该文件的第 3 到 9 行- 每行前面的标记位,
+表示该行为新增,!表示该行有改动,-表示该行被删除
普通模式
普通模式是最原始的 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表示该行的内容。
如何阅读 diff 命令的输出的更多相关文章
- Linux下diff命令用法详解
大家好,我是良许. 我们在平时工作的时候,经常要知道两个文件之间,以及同个文件不同版本之间有何异同点.在 Windows 下,有 beyond compare 这个好用的工具,而在 Linux 下,也 ...
- 通过实例看懂diff命令输出
摘自:http://blog.sina.com.cn/s/blog_612144f30100nkpt.html ############################### 实例: 有这样两个文件: ...
- diff 命令详解
[自注:] 1,还有个colordiff命令,用颜色标识不同的地方.需要先安装 2,diff normal模式中 2,5表示从第二行到第五行 3,diff -c 模式中,2,5表示从第二行到第五行 4 ...
- linux shell 脚本攻略学习13--file命令详解,diff命令详解
一.file命令详解 find命令可以通过查看文件内容来找出特定类型的文件,在UNIX/ Linux系统中,文件类型并不是由文件扩展名来决定的(windows中却正是这么做的),file命令的目的是从 ...
- linux diff命令
diff 命令是 linux上非常重要的工具,用于比较文件的内容,特别是比较两个版本不同的文件以找到改动的地方.diff在命令行中打印每一个行的改动.最新版本的diff还支持二进制文件.diff程序的 ...
- 每天一个linux命令(36):diff 命令
diff 命令是 linux上非常重要的工具,用于比较文件的内容,特别是比较两个版本不同的文件以找到改动的地方.diff在命令行中打印每一个行的改动.最新版本的diff还支持二进制文件.diff程序的 ...
- linux中diff命令用法
diff 命 令是 linux上非常重要的工具,用于比较文件的内容,特别是比较两个版本不同的文件以找到改动的地方.diff在命令行中打印每一个行的改动.最新版 本的diff还支持二进制文件.diff程 ...
- 每天一个linux命令(28):diff 命令
diff 命 令是 linux上非常重要的工具,用于比较文件的内容,特别是比较两个版本不同的文件以找到改动的地方.diff在命令行中打印每一个行的改动.最新版 本的diff还支持二进制文件.diff程 ...
- 每天一个命令day1【diff 命令】(具体实例看下一节)
diff 命令是 linux上非常重要的工具,用于比较文件的内容,特别是比较两个版本不同的文件以找到改动的地方.diff在命令行中打印每一个行的改动.最新版本的diff还支持二进制文件.diff程序的 ...
- diff命令和patch命令
diff命令和patch命令 Linux就这个范儿 2.9.5 文件对比命令——diff diff命令搭建网站离不开数据库,在Linux系统上我们使用源码安装了MySQL服务器.不久我们发现 Goog ...
随机推荐
- windows下rust环境的安装(现在是2023年5月份)
在自己家电脑上安装一下rust,还是遇到一些问题,这里记录一下,免得后面再踩坑. 官方网站 获取主要信息还得靠官网,比如安装软件:) 地址是 https://www.rust-lang.org/zh- ...
- NewStarCTF 2023 week1
NewStarCTF 2023 WEEK1|CRYPTO brainfuck http://bf.doleczek.pl/ flag{Oiiaioooooiai#b7c0b1866fe58e12} C ...
- JDK各个版本汇总
JDK1.4 正则表达式,异常链,NIO,日志类,XML解析器,XLST转换器 JDK1.5 自动装箱.泛型.动态注解.枚举.可变长参数.遍历循环 JDK1.6 提供动态语言支持.提供编译API和卫星 ...
- Linux-shell编程入门基础
目录 前言 Shell编程 bash特性 shell作用域 变量 环境变量 $特殊变量 $特殊状态变量 $特殊符号(很重要) 其他内置shell命令 shell语法的子串截取 统计 指令执行时间 练习 ...
- Arctic开源!网易数帆×华泰证券,推动湖仓一体落地
数字化转型趋势下,各行业对数据生产力的探索与追求逐步进入深水区.现实的问题是,企业数据仓库存储.数据湖多种技术并存的局面将长期存在,如何才能摆脱技术协同的内耗,让大数据直通生产力的彼岸? 8月11日下 ...
- SwiftUI学习01-基本使用
SwiftUI 是苹果推出的一种现代化方式,用于创建跨所有 Apple 平台的用户界面.它通过声明性语法简化了 UI 的开发流程.下面是一个基本的 SwiftUI 示例,展示了如何使用 SwiftUI ...
- [oeasy]python0115_西里尔字符集_Cyrillic_俄文字符编码_KOI_8859系列
各语言字符编码 回忆上次内容 上次回顾了 非ascii的拉丁字符编码的进化过程 0-127 是 ascii 的领域 西欧.北欧语言 大多使用 拉丁字符 由iso组织 制定iso-8859-1 ...
- Figma数值输入框支持拖拽调整功能实现
最近再研究Figma的一些功能设计, 对其中的数值输入框可以直接鼠标拖拽的这个设计印象非常深刻. 这里用了其他网友的一张动态截图演示一下效果. 实际这个拖拽的功能不止看到的这么简单, 在深度研究使用之 ...
- 快速将headers转字典
使用Headers插件完成快捷操作 在pycharm的Preferences-Plugins-Marketplace下搜索Headers install安装.apply应用,ok确定 接下来只要复制相 ...
- 我用Awesome-Graphs看论文:解读PowerGraph
PowerGraph论文:<PowerGraph: Distributed Graph-Parallel Computation on Natural Graphs> 上次通过文章< ...