Linux | 详解 diff 命令的使用方法

在这里插入图片描述

概述

diff 是linux下的重要命令之一,可以逐行比较文本文件的差异,与cmpcomm命令不同的地方是,它可以告诉我们一个文件中的哪些行需要更改,以使两个文件相同。

diff 命令中,有一些特殊的符号需要记牢:

a : add
c : change
d : delete

diff 语法

diff [options] File1 File2

我们有两个名为 a.txt 和 b.txt 的文件,其中包含我们喜欢的水果。
在这里插入图片描述

不加选项

如果直接使用diff不加任何选项,那么结果是:
在这里插入图片描述
输出结果告诉我们:需要更改第一个文件中的第三行到第五行,才能与第二个文件相等。

添加选项

Linux 系统提供了两种不同的方式来查看 diff 命令的输出,即上下文模式和统一模式。

上下文模式

要查看上下文模式中的差异,请使用-c 选项。让我们通过例子来理解这一点,我们有两个文件 a.txt 和 b.txt:
在这里插入图片描述

***代表第一个文件,---代表第二个文件,*************** 这个代表的是分割线。

这个输出的前两行显示了关于文件1和文件2的信息。它列出了每个文件的文件名、修改日期和修改时间。

分割线显示两个文件具体不同的地方, 感叹号表示不同。

统一模式

要在统一模式下查看差异,请使用-u 选项。它类似于上下文模式,但不显示任何冗余信息或以简洁的形式显示信息。
在这里插入图片描述
与上下文模式不同的地方是,第一个文件由---表示,第二个文件由+++表示。 这个输出的前两行显示了关于文件1和文件2的信息。它列出了每个文件的文件名、修改日期和修改时间。

@@里面-代表的是第一个文件,+ 代表第二个文件,后面跟的是行号。输出结果告诉我们:第一个文件减去 avocado、cherry、coconut,并且加上date、durian、grape、grapefruit才能与第二文件相同。

补充

diff在默认情况下是忽略大小写的,如果要对大小写敏感需要添加选项-i。若要查看diff版本信息可以使用下面的命令:

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/alexwei2009/article/details/127613052