在 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)
meldkdiff3meld file1 file2
| 需求 | 命令 |
|---|---|
| 看具体差异 | diff |
| 二进制文件 | cmp |
| 只看是否相同 | md5sum |
| 可视化对比 | vimdiff / meld |
如果你有具体文件类型(文本/日志/代码/二进制)或想怎么对比,我可以给更精确的命令。