在 Linux 下比较文件差异,常用的方法有以下几种,按使用场景从简单到高级说明:
diff(最常用)比较文本文件的差异。
diff file1 file2
diff -u file1 file2 # 显示统一格式(推荐)
diff -r dir1 dir2 # 递归比较目录
diff -i file1 file2 # 忽略大小写
diff -w file1 file2 # 忽略空白字符
< 表示只在 file1 中有> 表示只在 file2 中有cmp(比较二进制文件)逐字节比较,适合非文本文件。
cmp file1 file2
有差异时输出:
file1 file2 differ: byte 123, line 5
comm(已排序文件比较)要求文件已排序。
comm file1 file2
输出三列:
vimdiff(可视化对比)适合人工查看差异。
vimdiff file1 file2
或:
vim -d file1 file2
colordiff(带颜色 diff)更易读。
colordiff file1 file2
(需安装:apt install colordiff 或 yum install colordiff)
git diff(版本控制场景)git diff file1 file2
或比较工作区与仓库:
git diff file
md5sum / sha256sum(只判断是否相同)不显示差异内容,只判断是否一致。
md5sum file1 file2
diff -ucmpvimdiffdiff -r如果你有具体场景(比如大文件、目录、二进制、CSV 等),我可以给你更合适的命令示例。