首选统一格式(-u)看清改动上下文:diff -u old.conf new.conf 输出带文件名、时间戳及上下文,-删+增,@@标行号范围;-q快速判断是否一致;-i/-w/-b/-i绕过大小写、空白、空行、注释等干扰;vimdiff交互审阅更直观。

直接用 diff 命令就能快速看出两个配置文件哪几行不同,关键在于选对选项——日常看差异用 -u,快速判断是否一致用 -q,排查配置修改时再配合 -i、-w 等忽略干扰项。
推荐首选:统一格式(-u)看清改动上下文
执行 diff -u old.conf new.conf,输出带文件名、时间戳和前后 3 行上下文:
-
--- old.conf和+++ new.conf标明来源 - 无符号行是未变的上下文,帮你定位改动位置
-
-开头是旧文件删掉的内容,+开头是新文件新增的内容 -
@@ -2,5 +2,6 @@表示从旧文件第 2 行起 5 行 → 新文件第 2 行起 6 行
快速判断是否一致(适合脚本或巡检)
只关心“有没有改”,不关心怎么改:
Zynq‑7000 / Zynq UltraScale+ 硬件调试技能。适用于 Xilinx Zynq(Cortex‑A9/A53 + FPGA)Linux 环境,调试 I2C、I2S、UART、GPIO 等外设。包括设备树配置、内核驱动、用户空间调试工具、交叉编译和常见问题排查,支持 PetaLinux 开发。
-
diff -q old.conf new.conf:不同则输出Files old.conf and new.conf differ,相同则静默 - 配合 shell 判断:
if diff -q a.conf b.conf > /dev/null; then echo "一致"; else echo "有差异"; fi - 想确认目录下所有同名配置都一致:
diff -rq /etc/nginx/conf.d/ /tmp/nginx-backup/
绕过常见干扰(空格、大小写、注释等)
配置文件常因格式微调产生“假差异”,加对应选项过滤:
-
-i:忽略大小写,比如Port: 8080和port: 8080不报差异 -
-w:忽略所有空白(空格、制表符、换行符),适合清理过缩进的文件 -
-B:跳过纯空行,避免空行数量不同误判 -
-I '^[[:space:]]*#':忽略以 # 开头的注释行(注意单引号防止 shell 展开)
交互式审阅(适合人工核对复杂配置)
终端里看 `-u` 输出仍吃力?用 vimdiff 更直观:
- 运行
vimdiff old.conf new.conf,左右分屏,差异行高亮(如浅蓝/粉红) -
]c跳到下一个差异块,[c返回上一个 - 光标在左窗格输
dp把右边改动复制过来;在右窗格输do拿左边内容覆盖 - 确认无误后
:wqa保存退出,中途反悔就:qa!










