在 Linux 下比较文件差异,常用的方法有以下几种,按使用场景从简单到高级说明:
diff —— 最常用比较两个文本文件的差异。
diff file1.txt file2.txt
常见选项:
-u:以 unified 格式显示(推荐,易读)-c:context 格式-r:递归比较目录-q:只显示是否不同示例:
diff -u a.txt b.txt
输出中:
- 开头:只在 file1 中+ 开头:只在 file2 中cmp —— 比较二进制文件逐字节比较,适合非文本文件。
cmp file1 file2
只显示第一个不同位置:
cmp -l file1 file2
comm —— 按行比较已排序文件要求文件已排序。
comm file1.txt file2.txt
输出三列:
示例(只显示不同):
comm -3 file1.txt file2.txt
vimdiff / nvim -d —— 可视化对比适合仔细查看和编辑差异。
vimdiff a.txt b.txt
或:
nvim -d a.txt b.txt
colordiff —— 彩色 diffdiff 的增强版(需安装)。
colordiff file1 file2
sdiff —— 并排比较sdiff file1 file2
meldkdiff3meld file1 file2
| 场景 | 推荐命令 |
|---|---|
| 文本差异 | diff -u |
| 二进制 | cmp |
| 快速判断不同 | diff -q |
| 交互查看 | vimdiff |
| 目录对比 | diff -r |
如果你有具体文件类型(文本/配置/代码/二进制)或使用场景,我可以给更合适的示例。