Linux diff命令详解(附带实例)
Linux 的 diff 命令来自英文单词 different 的缩写,其功能是比较文件内容的差异。
如果有多个内容相近的文件,如何快速定位到不同内容所在位置呢?此时用 diff 命令就再合适不过了!
diff 命令的语法格式如下:
【实例 1】仅判断两个文件是否不同:
【实例 2】比较两个文件内容的不同之处,定位所在行数:
如果有多个内容相近的文件,如何快速定位到不同内容所在位置呢?此时用 diff 命令就再合适不过了!
diff 命令的语法格式如下:
diff 参数 文件名1 文件名2常用参数见下表:
参数 | 参数描述 | 参数 | 参数描述 |
---|---|---|---|
-a | 逐行比较文本文件内容 | -W | 设置显示栏宽 |
-b | 不检查空格字符的不同 | -x | 不比较指定的文件或目录 |
-d | 尽力找到一组较小的更改 | -X | 将文件或目录类型存成文本文件 |
-E | 忽略由于选项卡扩展而引起的更改 | -y | 以并列的方式显示文件的异同之处 |
-i | 忽略大小写 | --brief | 仅判断两个文件是否不同 |
-N | 将不存在的文件视为空文件 | --help | 显示帮助信息 |
-q | 仅判断两个文件是否不同 | --left-column | 若两个文件某一行内容相同,则在左侧列显示 |
-r | 递归处理所有子文件 | --strip-trailing-cr | 输入时删除尾随的回车符 |
-t | 将制表符扩展为空格 | --suppress-common-lines | 仅显示不同之处,需要与y参数搭配使用 |
-w | 忽略所有空白 | --version | 显示版本信息 |
【实例 1】仅判断两个文件是否不同:
[root@clinux ~]# diff --brief File1.txt File2.txt Files File1.txt and File2.txt differ
【实例 2】比较两个文件内容的不同之处,定位所在行数:
[root@clinux ~]# diff -c File1.txt File2.txt *** File1.txt 2025-05-30 18:07:45.230864626 +0800 --- File2.txt 2025-05-30 18:08:52.203860389 +0800 *************** *** 1,5 **** ! Welcome to biancheng.net Red Hat certified ! Free Linux Lessons Professional guidance Linux Course --- 1,7 ---- ! Welcome tooo biancheng.net ! Red Hat certified ! Free Linux LeSSonS ! ////////.....//////// Professional guidance Linux Course