首页 > 编程笔记 > Linux命令 阅读:13

Linux diff命令详解(附带实例)

Linux 的 diff 命令来自英文单词 different 的缩写,其功能是比较文件内容的差异。

如果有多个内容相近的文件,如何快速定位到不同内容所在位置呢?此时用 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

相关文章