温馨提示×

怎样比较Linux文件差异

小樊
41
2026-07-15 00:06:16
栏目: 智能运维

在 Linux 中比较文件差异,常用且高效的方法有以下几种,按使用场景从简单到高级说明:


一、最常用:diff

diff 是 Linux 中最基础、最通用的文件比较工具。

1️⃣ 基本用法

diff file1.txt file2.txt

输出示例:

3c3
< old line
---
> new line

说明:

  • < 表示第一个文件
  • > 表示第二个文件
  • c 表示修改(change)

2️⃣ 常用参数

参数 作用
-u 显示统一格式(推荐,适合补丁)
-y 并排显示
-i 忽略大小写
-w 忽略空白字符
-r 递归比较目录
--color 彩色输出(部分版本支持)

示例:

diff -u file1.txt file2.txt
diff -y file1.txt file2.txt

二、并排对比:vimdiff

适合边看边改,程序员常用。

vimdiff file1.txt file2.txt

操作提示:

  • ]c / [c:下一个/上一个差异
  • :diffget / :diffput:合并差异
  • :q 退出

三、彩色直观对比:colordiff

diff 的彩色增强版。

sudo apt install colordiff   # Debian/Ubuntu
colordiff file1.txt file2.txt

四、目录差异比较

diff -r dir1/ dir2/

只比较文件名:

diff -rq dir1/ dir2/

五、图形界面工具(推荐新手)

1️⃣ meld

sudo apt install meld
meld file1.txt file2.txt

特点:

  • 三路对比
  • 可视化合并
  • 目录对比

六、快速判断文件是否相同

1️⃣ cmp

cmp file1 file2

无输出表示完全相同。

2️⃣ md5sum / sha256sum

md5sum file1 file2

七、常见场景推荐

场景 推荐工具
快速查看差异 diff -u
彩色输出 colordiff
边看边改 vimdiff
目录对比 diff -r / meld
新手/可视化 meld

如果你愿意,可以告诉我:

  • 文本文件还是二进制文件
  • 两个文件还是两个目录
  • 是否需要生成补丁

我可以给你更精确的命令示例。

0