温馨提示×

linux怎么比较文件差异

小樊
39
2026-10-01 14:58:20
栏目: 智能运维

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


一、diff(最常用)

比较文本文件的差异。

基本用法

diff file1 file2

常见选项

diff -u file1 file2      # 显示统一格式(推荐)
diff -r dir1 dir2       # 递归比较目录
diff -i file1 file2     # 忽略大小写
diff -w file1 file2     # 忽略空白字符

输出说明(普通 diff)

  • < 表示只在 file1 中有
  • > 表示只在 file2 中有

二、cmp(比较二进制文件)

逐字节比较,适合非文本文件。

cmp file1 file2

有差异时输出:

file1 file2 differ: byte 123, line 5

三、comm(已排序文件比较)

要求文件已排序。

comm file1 file2

输出三列:

  1. 只在 file1 中
  2. 只在 file2 中
  3. 两个文件共有

四、vimdiff(可视化对比)

适合人工查看差异。

vimdiff file1 file2

或:

vim -d file1 file2

五、colordiff(带颜色 diff)

更易读。

colordiff file1 file2

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


六、git diff(版本控制场景)

git diff file1 file2

或比较工作区与仓库:

git diff file

七、md5sum / sha256sum(只判断是否相同)

不显示差异内容,只判断是否一致。

md5sum file1 file2

简单推荐

  • 文本差异 → diff -u
  • 二进制 → cmp
  • 看差异更直观 → vimdiff
  • 目录对比 → diff -r

如果你有具体场景(比如大文件、目录、二进制、CSV 等),我可以给你更合适的命令示例。

0 踩