温馨提示×

linux怎样比较文件差异

小樊
63
2026-10-10 10:48:08
栏目: 智能运维

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


一、最常用:diff

用于逐行比较文本文件

diff file1.txt file2.txt

常见选项:

diff -u file1 file2      # 显示统一格式(常用)
diff -r dir1 dir2        # 递归比较目录
diff -i file1 file2      # 忽略大小写
diff -w file1 file2      # 忽略空格差异

示例输出说明:

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

二、更直观:colordiff

diff 的彩色版本(需安装)

colordiff file1 file2

安装:

sudo apt install colordiff     # Debian/Ubuntu

三、并排比较:sdiff

左右并排显示差异

sdiff file1 file2

四、交互式比较:vimdiff

适合查看并编辑差异

vimdiff file1 file2

或:

vim -d file1 file2

操作简要:

  • ]c 下一个差异
  • [c 上一个差异
  • :diffget 取对方内容
  • :diffput 写入对方

五、图形界面工具

适合不熟悉命令行的用户

meld file1 file2

安装:

sudo apt install meld

其他:

  • kdiff3
  • kompare

六、二进制文件比较

1. cmp

cmp file1 file2

只显示第一个不同字节位置。

2. xxd + diff

xxd file1 > a.hex
xxd file2 > b.hex
diff a.hex b.hex

七、快速判断是否相同

diff -q file1 file2

只输出是否不同,不显示内容。


八、常见使用场景建议

场景 推荐命令
看文本差异 diff -u
彩色直观 colordiff
并排查看 sdiff
编辑合并 vimdiff
图形比较 meld
二进制 cmp

如果你有具体文件类型(如配置文件、代码、日志、二进制)或比较目的(找不同、合并、同步),我可以给你更精确的命令示例。

0 踩