改完 nginx 配置不生效,怀疑哪里手滑改错了,把备份文件和现在这份一比对,十秒定位问题。文件比对工具不用贪多,按场景各留一个就行。
Windows 下的三个常用
- VS Code:左侧资源管理器里右键第一个文件选「选择以进行比较」,再右键第二个文件选「与选定的项进行比较」,差异逐行标色
- WinMerge:免费开源,能直接比两个文件夹,列出哪些文件不一样再逐个看,适合整理下载目录和备份盘
- Beyond Compare:收费但功能全,文本、表格、压缩包、图片都能比,还支持三方合并,重度用户值得入手
- Notepad++:装 Compare 插件后,两个标签页都开着,在插件菜单点 Compare 就出逐行差异,轻量顺手
命令行场景
服务器上没有图形界面,命令行的文件比对用 diff,加 -u 参数输出带上下文的差异,配合 patch 还能把差异文件打回另一台机器:
diff -u nginx.conf.bak nginx.confWindows 的 cmd 里有个自带的 fc 命令,fc 文件一 文件二 就能比,应急够用。改代码的话直接看 git diff,比装什么都准。
比文件夹还有个省时间的路数:先按大小和修改日期粗筛,挑出疑似不同的再精比。WinMerge 里能按扩展名过滤,比如只看 ini、conf 结尾的文件,几十个文件的日志目录也能很快筛完,不用一个个点开。
按需求选型
偶尔比两个文本,VS Code 自带功能就够,不必装新软件;要比整个文件夹、做备份核对,选 WinMerge;每天和差异打交道、要合并代码,上 Beyond Compare。团队里处理代码冲突,git 的 mergetool 可以指定它当合并界面,比在纯文本里手工对冲突舒服。文件比对工具一套用熟,比装一堆强。
还有个冷门场景:下载的大文件想确认传输有没有出错,比哈希比肉眼靠谱,Linux 上 md5sum 或 sha256sum 一跑,两边数值对上就完事。