Linux系统shell程序设计(四)-diff命令详解(理论+实战)

一、diff命令基本介绍

  • linux环境下的比较工具 diff
  • diff命令是以逐行的方式,比较文本文件的异同处。
  • 如果指定进行目录的比较,则将会比较该目录中具有相同文件名的文件,而不会对其子目录文件进行任何比较操作

可以通过diff --help查询基本的语法

diff [OPTION]... FILES 

二、diff操作

命令

说明

diff file1 file2 --normal

默认模式,normal模式

diff file1 file2 -c

context比较模式

diff file1 file2 -u

unified比较模式

diff的三种格式

  • 正常格式(normal diff),默认格式
  • 上下文格式(context diff)
  • 合并格式(unified diff)

 2.1 normal格式

比较2个文件

首先在windows下用BeyondCompare比较2个文件

用diff比较2个文件

diff file1 file2
或
diff file1 file2 --normal

字符

说明

3c3

file13行添加内容后和file2相同

<

file1第三行位空行

> aa

file2第三行为aa

7c7

file17行添加内容后和file2相同

<

file17行为空行

> bb

file27行为bb

 2.2 context格式

  • 默认情况下的模式输出结果实际上是符合计算机的思维方式,不太直观,所以其输出结果并不能够很好的被人理解,diff命令除了默认模式之外还提供了另外两种模式,Context和Unified模式,本节我们说说如何查阅Context模式下的输出结果
  • 首先在windows下用BeyondCompare比较2个文件

  • 用diff context格式比较2个文件
diff file1 file2 -c | --context

2.3 unified格式 

  • diff还有一种比较方式,也即Unified模式,使用命令行 –u 来执行该模式的比较。其比较结果与Context模式很像,但是简化了一些输出,我们看看我们的案例文件,与上面的一样
  • 首先在windows下用BeyondCompare比较2个文件

 

  • 用diff unified格式比较2个文件
diff file1 file2 -u |--unified

2.4 diff目录 

  • 两个目录比较如果存在同名的文件,则比较这两个文件的不同
  • 两个目录存在的不同名文件,不比较
  • 两个目录的文件分布如下:

diff 目录1 目录2

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

技术瘾君子1573

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值