温馨提示×

linux如何比较两个文件

小樊
79
2026-09-16 17:50:09
栏目: 智能运维

在 Linux 下比较两个文件,常用的方法有以下几种,按使用场景来分:


一、最常用:diff

用于逐行比较文本文件,显示差异内容。

diff file1.txt file2.txt

常见参数:

  • -u:以 unified 格式显示(常用于 patch)
    diff -u file1.txt file2.txt
    
  • -r:递归比较目录
    diff -r dir1 dir2
    
  • -q:只显示是否不同
    diff -q file1 file2
    

二、并排显示差异:sdiff

适合人工阅读对比:

sdiff file1.txt file2.txt

三、只关心是否相同:cmp

用于逐字节比较,常用于二进制文件。

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

四、校验文件是否完全一致:md5sum / sha256sum

只比较“内容是否一样”,不显示差异。

md5sum file1 file2

或:

sha256sum file1 file2

五、交互式比较:vimdiff

适合程序员对比代码:

vimdiff file1.txt file2.txt

(需要安装 vim)


六、图形界面工具(可选)

  • meld
  • kdiff3
meld file1 file2

简单选择建议

需求 命令
看具体差异 diff
二进制文件 cmp
只看是否相同 md5sum
可视化对比 vimdiff / meld

如果你有具体文件类型(文本/日志/代码/二进制)或想怎么对比,我可以给更精确的命令。

0 踩