带你【玩转Linux命令】➾ cmp & diff 每天2个day04

带你【玩转Linux命令】➾ cmp & diff 每天2个day04

    • 一、文件管理命令
      • 1.1 cmp-比较两个文件是否有差异
      • 1.2 diff-用于比较文件、目录的差异
    • 总结—温故知新


【上一篇】
The Begin 点点关注,收藏不迷路
【下一篇】

一、文件管理命令

1.1 cmp-比较两个文件是否有差异

当相互比较的两个文件完全一样时,则该命令不会显示任何信息。若发现有所差异,默认会标示出第1个差异处的字节数和行数编号。若不指定任何文件名称,或是所给予的文件名为“-”,则cmp命令会从标准输人设备读取数据。

♻️ 相关命令: diff
包名称:diffutils
练习打卡:

1️⃣ 比较file02与file03两个文件的差异
[root@linux-commands filedir]# cmp file02 file03
带你【玩转Linux命令】➾ cmp & diff 每天2个day04_第1张图片
[root@linux-commands filedir]# cmp file02 file04
带你【玩转Linux命令】➾ cmp & diff 每天2个day04_第2张图片

2️⃣ 比较2个文件的差异,若有差异的地方,列出该字节
[root@linux-commands filedir]# cmp -c file02 file03
带你【玩转Linux命令】➾ cmp & diff 每天2个day04_第3张图片

3️⃣ 列出2个文件所有差异的地方
[root@linux-commands filedir]# cmp -l file02 file03
带你【玩转Linux命令】➾ cmp & diff 每天2个day04_第4张图片

参数:
带你【玩转Linux命令】➾ cmp & diff 每天2个day04_第5张图片

1.2 diff-用于比较文件、目录的差异

diff默认会逐行比较文本文件的异同。此外,也可以指定要比较的目录,diff会比较目录中相同文件名的文件,但不会比较其中的子目录(若要连子目录一起比较,必须使用-r)
比较后若发现不同处,则会显示文件1与文件2中该行的内容。若以“-”取代文件名,则以标准输人来替代文件。

♻️ 相关命令: cmp,diffstat
包名称:diffutils
练习打卡:

文件比较
1️⃣ 列出file01及file02文件的内容(稍后将陆续用这两个文件作比较)并比较fle01与file02两个文件的异同
[root@linux-commands filedir]# cat file01
[root@linux-commands filedir]# cat file02
带你【玩转Linux命令】➾ cmp & diff 每天2个day04_第6张图片

## 比较file01 file02
[root@linux-commands filedir]# diff file01 file02
0a1
A person has at least one dream, there is a reason to be strong.
[root@linux-commands filedir]#

带你【玩转Linux命令】➾ cmp & diff 每天2个day04_第7张图片

2️⃣ 比较file01与file02两个文件,只列出有无差异,并不显示详细信息
[root@linux-commands filedir]# diff -q file01 file02
带你【玩转Linux命令】➾ cmp & diff 每天2个day04_第8张图片

3️⃣ 比较file01与file02两个文件,将两个文件的全部内容分别显示在左右两侧
[root@linux-commands filedir]# diff -y file01 file02
带你【玩转Linux命令】➾ cmp & diff 每天2个day04_第9张图片

4️⃣ 比较file01与file02两个文件,若两个文件某一行内容相同,则仅在左侧显示该行内容,若内容不同,则分别显示在左右两侧
[root@linux-commands filedir]# diff -y --left-column file01 file02
带你【玩转Linux命令】➾ cmp & diff 每天2个day04_第10张图片

5️⃣ 比较file01与file02两个文件,只将两个文件不同的行分别显示在左右两侧
[root@linux-commands filedir]# diff -y --suppress-common-line file01 file02
带你【玩转Linux命令】➾ cmp & diff 每天2个day04_第11张图片

6️⃣ 列出file01及file02文件的内容后将陆续利用这两个文件比较)比较file01与file01两个文件,显示不同之处前后部分的内文,并标出两个文件的不同之处
[root@linux-commands filedir]# cat file01
[root@linux-commands filedir]# cat file02
带你【玩转Linux命令】➾ cmp & diff 每天2个day04_第12张图片

## 比较file01 file02
[root@linux-commands filedir]# diff -c file01 file02
带你【玩转Linux命令】➾ cmp & diff 每天2个day04_第13张图片

7️⃣ 比较file01与file02两个文件,显示不同之处前后各2行的内文,并标出两个文件的不同处
[root@linux-commands filedir]# diff -c -2 file01 file02
带你【玩转Linux命令】➾ cmp & diff 每天2个day04_第14张图片

8️⃣ 比较file01与file01两个文件,显示不同之处前后部分的内文,并将结果以合并的方式列出
[root@linux-commands filedir]# diff -u file01 file02
带你【玩转Linux命令】➾ cmp & diff 每天2个day04_第15张图片

9️⃣ 比较file01与file02两个文件的异同,比较后显示不同之处前后各2行
的内文,并将结果以合并的方式列出

[root@linux-commands filedir]# diff -u -2 file01 file02
或者
[root@linux-commands filedir]# diff -U 2 file01 file02
带你【玩转Linux命令】➾ cmp & diff 每天2个day04_第16张图片
1️⃣0️⃣ 比较file01、 file02两个文件的异同,但比较时不比较空白字符数目的不同
[root@linux-commands filedir]# diff -b file01 file02

1️⃣1️⃣ 比较file01、 file02两个文件的异同,但比较时不比较空白行数目的不同
[root@linux-commands filedir]# diff -B file01 file02

目录比较
1️⃣ 比较filedir01与filedir02两个目录中文件的异同

##显示filedir01与filedir02目录下的文件
带你【玩转Linux命令】➾ cmp & diff 每天2个day04_第17张图片

##比较filedir01与filedir02两个目录
[root@linux-commands ~]# diff filedir01 filedir02
只在 filedir01 存在:dir1
只在 filedir01 存在:dir2
只在 filedir02 存在:file04
[root@linux-commands ~]#
带你【玩转Linux命令】➾ cmp & diff 每天2个day04_第18张图片

2️⃣ 忽略文内大小写的差异
[root@linux-commands ~]# diff -is filedir01 filedir02

3️⃣ 在比较filedir01与filedir02目录中的文件时,若文本中包含“question”字符串,则忽略不比较该行
[root@linux-commands ~]# diff -I question -s filedir01 filedir02

4️⃣ 比较比较filedir01与filedir02目录中的文件,并以并列方式显示文件的相异之处
[root@linux-commands ~]# diff -y --suppress-common-lines filedir01 filedir02

5️⃣ 比较filedir01与filedir02两个目录下文件的异同,比较时连同子目录下的文件一并比较
[root@linux-commands ~]# diff -r filedir01 filedir02

6️⃣ 比较filedir01与filedir02两个目录下文件的异同,比较时忽略名称为filedir04 的文件
[root@linux-commands ~]# diff -x file04 filedir01 filedir02

参数:
带你【玩转Linux命令】➾ cmp & diff 每天2个day04_第19张图片
带你【玩转Linux命令】➾ cmp & diff 每天2个day04_第20张图片
带你【玩转Linux命令】➾ cmp & diff 每天2个day04_第21张图片

总结—温故知新

❓ 该章详细介绍了【Linux命令】cmp、diff命令的使用,及有关参数详解。

【上一篇】
The end 点点关注,收藏不迷路
【下一篇】

你可能感兴趣的:(Linux,命令集,运维,cmp命令,diff命令,Linux文件管理命令,Linux)