diff命令用于逐行比较文件差异,常用选项包括-i(忽略大小写)、-b(忽略空格数)、-B(忽略空白行)、-r(递归比较目录)、-q(仅显示是否不同)、-u(生成统一格式输出),基本语法为diff [选项] 文件1 文件2,输出中c表示修改、a表示新增、d表示删除,结合-w或-B可避免空白字符干扰,适用于代码对比、配置检查等场景。

Linux 下比较两个文件差异,最常用的就是 diff 命令。 它能逐行比对文件内容,快速找出不同之处,广泛用于脚本判断、代码版本对比和配置文件检查。下面详细介绍 diff 的基本用法和常用选项。
基本语法
diff 命令的基本格式如下:
diff [选项] 文件1 文件2
如果两个文件相同,diff 不输出任何内容;如果有差异,会显示具体哪些行被修改、添加或删除。
输出格式说明
diff 的默认输出采用“正常模式”,例如:
3c3
< old line
—
> new line
含义是:文件1的第3行被修改(c 表示 change)为文件2的第3行。
其他常见符号:
a(add):表示在文件2中新增了行 d(delete):表示在文件1中删除了行 c(change):表示某行被修改
常用选项提升效率
实际使用中,配合选项能让输出更清晰:
Noiz Agent
AI声音创作Agent平台
323 查看详情
-i:忽略大小写差异 -b:忽略空格数量变化 -B:忽略空白行 -r:递归比较目录中的所有文件 -q:只显示文件是否不同,不显示具体差异 -u:生成统一格式(unified)输出,适合查看补丁
例如,使用 -u 可以得到更易读的结果:
diff -u file1.txt file2.txt
实用场景举例
假设你有两个配置文件 config.old 和 config.new,想查看改动:
diff -u config.old config.new
输出中,以 – 开头的行来自旧文件,+ 开头的行是新文件新增的内容,便于快速识别变更。
若要批量比较两个目录下的同名文件:
diff -rq dir1/ dir2/
基本上就这些。掌握 diff 命令,能大幅提升你在 Linux 环境下排查文件变化的效率。不复杂但容易忽略细节,比如空白字符的影响,建议结合 -w 或 -B 使用更稳妥。
以上就是LINUX怎么比较两个文件差异_LINUX diff命令详解的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/926887.html
微信扫一扫
支付宝扫一扫