比较文件差异(Diff)是开发、运维和日常办公中非常常见的需求。可以根据你的使用场景(是否需要图形界面、文件大小、是否在远程服务器上)选择不同的方法。
以下是几种主流的比较文件差异的方法,从命令行到图形化工具都有:
如果你在 Linux、macOS 或 Windows 的 Git Bash / WSL 环境下,命令行是最直接的方式。
diff 命令 (Linux/macOS 标配)这是最经典的工具,直接在终端显示差异。
# 基本用法
diff file1.txt file2.txt
# 推荐用法:并排显示,忽略空白字符变化
diff -y -w file1.txt file2.txt
# 上下文模式(显示差异前后的代码,方便定位)
diff -u file1.txt file2.txt
fc 命令 (Windows 原生 CMD)如果你在 Windows 的普通命令提示符下,没有 Git Bash,可以使用 fc。
fc file1.txt file2.txt
git diff (开发者的首选)如果你比较的是代码文件,或者文件在 Git 仓库中,git diff 通常比原生 diff 更好用,因为它能识别文件重命名,并且输出更友好。
# 比较两个本地文件
git diff file1.txt file2.txt
# 比较工作区文件和暂存区文件
git diff file.txt
# 比较两个分支中的同一个文件
git diff branch1:file.txt branch2:file.txt
如果你觉得命令行看眼睛花,或者需要手动合并代码,图形化工具更直观。
强烈推荐。 如果你已经在用 VS Code 写代码,它是无缝的。
Ctrl+Shift+P (Mac: Cmd+Shift+P) 输入 File: Compare Active File With...。这是业界公认最强大的文件/文件夹对比工具。
Windows 平台下非常经典的免费工具。
类似 Beyond Compare 的免费替代品,界面很清爽,支持三路对比。
如果不想装软件,只是临时看一眼:
Compare Files。Compare Side-By-Side 插件。普通的文本比较工具(如 diff)无法解析 Word 或 PDF 的二进制格式。
.txt 纯文本后,再用上述工具比较。| 场景 | 推荐工具 | 命令/操作 |
|---|---|---|
| Linux/服务器 快速查看 | diff |
diff -u file1 file2 |
| Windows 命令行 | fc |
fc file1 file2 |
| 开发中的代码 | git diff 或 VS Code |
git diff 或右键比较 |
| 复杂合并/文件夹同步 | Beyond Compare | 打开软件拖入文件 |
| 临时对比两段文本 | Diffchecker (网页) | 复制粘贴 |
| 比较 Word 文档 | Word 自带功能 | 审阅 -> 比较 |
如果你能告诉我你的操作系统(Windows/Mac/Linux)以及文件类型(代码/文本/Word),我可以给你更具体的操作步骤。