温馨提示×

怎么对比两个linux文件

小樊
70
2026-09-25 19:35:59
栏目: 智能运维

在 Linux 中对比两个文件,常见方法和场景如下:


一、最常用:diff

diff file1 file2
  • 显示逐行差异
  • 输出示例:
    3c3
    < hello
    ---
    > hello world
    

含义:file1 第 3 行被 file2 第 3 行替换

常用参数

diff -u file1 file2      # 统一格式(适合看 patch)
diff -r dir1 dir2        # 递归比较目录
diff -q file1 file2      # 只显示是否不同

二、并排对比:sdiff

sdiff file1 file2

左右两列显示,直观对比


三、可视化工具(推荐)

vimdiff

vimdiff file1 file2
  • 高亮不同
  • 可在 vim 中合并修改

meld(图形界面)

meld file1 file2

适合不熟悉命令行的用户


四、只关心“是否相同”

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

五、校验文件一致性(大文件)

md5sum file1 file2
sha256sum file1 file2
  • 哈希值相同 ⇒ 文件内容完全一致

六、比较已排序文件

comm file1 file2
  • 要求文件已排序
  • 显示:仅在 file1 / 仅在 file2 / 共有

七、日志 / 大数据对比技巧

diff <(sort file1) <(sort file2)

忽略顺序差异


快速选择建议

需求 推荐
看具体差异 diff -u
直观对比 vimdiff / meld
只判断是否一样 cmp
大文件 sha256sum

如果你有具体文件类型(代码 / 配置 / 日志),我可以给更合适的命令。

0 踩