温馨提示×

如何对比两个linux文件

小樊
60
2026-10-04 13:50:46
栏目: 智能运维

在 Linux 下“对比两个文件”有多种场景和工具,下面按常见需求分类说明,基本都能直接用。


一、对比文本文件内容(最常用)

1️⃣ diff —— 行级对比

diff file1.txt file2.txt

常用参数:

diff -u file1.txt file2.txt     # 显示统一格式(推荐)
diff -y file1.txt file2.txt     # 左右并排显示
diff -r dir1 dir2               # 递归对比目录

示例输出含义:

  • < 只在 file1 中
  • > 只在 file2 中

2️⃣ vimdiff —— 可视化对比(强烈推荐)

vimdiff file1.txt file2.txt

或

vim -d file1.txt file2.txt

✅ 优点:

  • 高亮差异
  • 可手动合并

3️⃣ colordiff —— 带颜色 diff

colordiff file1.txt file2.txt

(需安装:yum install colordiff / apt install colordiff)


二、只关心“是否相同”

4️⃣ cmp —— 字节级比较

cmp file1 file2
  • 相同:无输出
  • 不同:显示第一个不同位置

5️⃣ diff -q —— 只报是否不同

diff -q file1.txt file2.txt

三、对比文件“特征”而不是内容

6️⃣ md5sum / sha256sum

md5sum file1 file2
sha256sum file1 file2

适合:

  • 大文件
  • 判断文件是否被改动

四、对比目录

diff -r dir1 dir2

或更直观:

vimdiff dir1 dir2

五、图形化工具(可选)

  • meld(非常好用)
meld file1 file2
  • kdiff3
  • Beyond Compare(商业)

六、常见场景推荐

场景 推荐命令
文本差异 vimdiff
脚本对比 diff -u
是否相同 cmp / diff -q
大文件 sha256sum
目录对比 diff -r

如果你有具体场景(比如:配置文件、日志、二进制文件、目录同步),我可以给你更精确的方法。

0 踩