温馨提示×

怎么比较linux文件差异

小樊
35
2026-07-29 08:35:13
栏目: 智能运维

在 Linux 中比较文件差异,常用的方法有以下几种,按使用频率和场景给你总结一下:


一、最常用:diff

1️⃣ 基本用法

diff file1 file2

示例输出:

3c3
< hello
---
> hello world

含义:第 3 行不同,file1hellofile2hello world


2️⃣ 常用参数

参数 说明
-u 统一格式(推荐,类似 git diff)
-y 并排显示
-i 忽略大小写
-w 忽略空白字符
-r 递归比较目录

推荐用法

diff -u file1 file2

二、并排对比:diff -y

diff -y file1 file2

输出示例:

hello            hello
world            world!

三、彩色高亮:colordiff

sudo apt install colordiff   # Debian/Ubuntu
colordiff file1 file2

更直观,适合人眼查看。


四、交互式对比:vimdiff

vimdiff file1 file2

特点:

  • 左右分屏
  • 可编辑
  • ]c / [c 跳转差异
  • :q 退出

五、图形界面工具

1️⃣ meld(强烈推荐)

sudo apt install meld
meld file1 file2

优点:

  • 图形化、直观
  • 支持目录对比
  • 支持三方合并

六、比较目录差异

diff -r dir1 dir2

只看哪些文件不同:

diff -rq dir1 dir2

七、和 Git 相关的对比

查看未提交修改

git diff

比较两个提交

git diff commit1 commit2

八、其他方式

cmp(只判断是否有差异)

cmp file1 file2

无输出表示完全相同。

md5sum / sha256sum

md5sum file1 file2

适合判断文件是否一致,不显示差异内容。


✅ 推荐选择

场景 推荐
命令查看差异 diff -u
彩色显示 colordiff
编辑+对比 vimdiff
图形界面 meld
目录对比 diff -r

如果你愿意,我也可以:

  • 教你 diff 输出格式怎么看
  • 给你 实际例子逐行解释
  • 推荐 服务器无 GUI 下的最佳方案

你现在是在 服务器 还是 桌面 Linux

0