首页/系统/Linux 运维命令速查/diff 比较文件与目录差异
本包目录(613 条)
文件与目录76 条
文本处理77 条
网络命令82 条进程与作业69 条磁盘与文件系统51 条用户与权限44 条日志与排查40 条systemd 与服务42 条包管理34 条性能与监控48 条定时任务与计划50 条

diff 比较文件与目录差异

逐行找出两个文件(或目录)的不同:-u 统一格式生成补丁、-q 只报是否不同、-r 递归比目录,是配置巡检与发布核对的基本盘。

Linux 运维命令速查系统更新于 2026-10-12
用途比较文件/目录内容差异
语法diff [选项] 文件1 文件2
所属GNU diffutils

常用示例

常用示例
diff app.conf app.conf.bak            # 普通格式
diff -u app.conf.old app.conf         # 统一格式(补丁用)
diff -q a.txt b.txt                   # 只报告是否不同
diff -r --brief /etc/app /data/app    # 目录递归、只看结论
diff -w a b                           # 忽略空白差异
跨平台文件先统一行尾:diff --strip-trailing-cr 忽略 CRLF 与 LF 差异,否则满屏假差异。

易错点

  • 超大文件 diff 很吃力:先 cmp 或 sha256sum 判断是否相同,再决定要不要逐行比
  • 目录比较默认只看文件级差异,加 -r 才会深入子目录;-q 时对目录只打印简要结论

数据来源与参考

  • man 1 diff(GNU diffutils 手册)

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌