Linux学习历程——Centos 7 diff命令

时间:2021-12-20 17:01:58

一、命令介绍

diff命令用于比较文本差异。

diff以逐行的方式,比较文本文件的异同处。如果指定要比较目录,则diff会比较目录中相同文件名的文件,但不会比较其中子目录。

-----------------------------------------------------------------------------------------------------------------------------------------------------------

二、实例

在test目录下存放了两个文本文件,test1.txt  test2.txt 。 比较这两个文件的异同。

diff  test1.txt   test2.txt

    Linux学习历程——Centos 7 diff命令

"5c5" 指两个文件的第5行不同,"12a13,14"指第一个文件比第二个文件少了13行和14行。

我们再运行 diff test2.txt  test1.txt

Linux学习历程——Centos 7 diff命令

虽然还是比较的上述两个文件 ,但是输出结果有所不同,

"13,14d12"的含义是第一个文件比第二个文件多了13行和14行。

我们也可以使用 -y 参数 ,以并列的方式显示文件的异同之处。

并且使用 -y 参数时,我们也可以配合-W参数指定栏宽。

diff test2.txt test1.txt -y -W 50

Linux学习历程——Centos 7 diff命令

这样输出的信息是不是非常友好呢?

还可以使用 -c 参数来显示全部内容,并标出不同之处。

diff -c test2.txt  test1.txt

Linux学习历程——Centos 7 diff命令

如果我们只想知道文件是否存在不同,而不需要输出文件内容,我们可以使用 -q 或者--brief参数。

diff -q  test1.txt test2.txt 

diff --brief test1.txt test2.txt

Linux学习历程——Centos 7 diff命令

Linux学习历程——Centos 7 diff命令

比较目录,diff会比较目录中相同文件名的文件,但不会比较其中子目录。

我们创建以个空目录test1   , 比较test 和test1 这两个目录

Linux学习历程——Centos 7 diff命令

---------------------------------------------------------------------------------------------------------------------------------------------------

三、总结

diff 命令可以让我们轻松的对比文本文件的差异,非常的实用,diff 的参数也还有很多,但是熟练运用上文的几个参数,在平时就足够用了。

我是刚刚接触Linux 的小白,文章不当之处,望指正!!!