在日常使用 Ubuntu 或其他 Linux 系统时,我们经常需要比较两个文件之间的差异。无论是代码版本管理、配置文件修改,还是日志分析,diff 命令都是一个非常实用的命令行工具。本文将从零开始,手把手教你如何使用 diff
命令进行文件差异比较,即使你是 Linux 小白也能轻松上手!

什么是 diff 命令?
diff是 Linux/Unix 系统中用于比较文件差异的标准工具。它会逐行分析两个文件的内容,并输出它们之间的不同之处。这个命令在开发、运维和系统管理中非常常见。
基本语法
最简单的使用方式如下:
diff 文件1 文件2
实战演示:比较两个文本文件
假设你有两个文件:
file1.txt和
file2.txt,内容分别如下:
file1.txt 内容:
苹果香蕉橙子
file2.txt 内容:
苹果葡萄橙子西瓜
现在我们运行以下命令:
diff file1.txt file2.txt
输出结果可能是:
2c2< 香蕉---> 葡萄3a4> 西瓜
这表示:
2c2:第2行被“更改”(change),原内容是“香蕉”,新内容是“葡萄”。
3a4:在第3行之后“新增”(add)一行,内容为“西瓜”。
常用选项参数
为了让输出更易读,
diff提供了多种选项:
-u或
--unified:以统一格式(unified format)显示差异,常用于生成补丁文件。
-r:递归比较目录中的所有文件。
-w:忽略空白字符(空格、制表符等)的差异。
-B:忽略空行造成的差异。
例如,使用统一格式查看差异:
diff -u file1.txt file2.txt
输出会更清晰:
--- file1.txt 2024-06-01 10:00:00.000000000 +0800+++ file2.txt 2024-06-01 10:05:00.000000000 +0800@@ -1,3 +1,4 @@ 苹果-香蕉+葡萄 橙子+西瓜
小贴士:结合其他工具使用
你可以将
diff的输出保存为补丁文件,再用
patch命令应用更改:
diff -u file1.txt file2.txt > my.patchpatch file1.txt < my.patch
总结
通过本教程,你已经掌握了如何在 Ubuntu 系统中使用
diff命令进行文件差异比较。无论你是开发者、系统管理员,还是普通用户,这个强大的命令行工具都能帮助你快速识别文件变化,提高工作效率。
记住常用的选项如
-u、
-r,并多加练习,你很快就能熟练运用这一基础但极其重要的 Linux 文件对比 技能!
