我们在平时工作的时候,经常要知道两个文件之间,以及同个文件不同版本之间有何异同点。在 Windows 下,有 beyond compare 这个好用的工具,而在 Linux 下,也有很多很强大的工具,良许之前也写过一篇文章介绍:
Linux下9种优秀的代码比对工具推荐
这些比对工具其实都是基于 diff 命令,下面就详细介绍一些 diff 命令的用法。
diff 命令是一个分析文件信息的命令,可以打印出文件之间的差异。它可以逐行地比较两个文件的内容,也可以递归地比较文件夹的内容。diff 命令的输出内容可以让我们知道要使两个文件相同需要做哪些修改,这对于我们的工作很有帮助。
在开始前,我们先用文件编辑器创建两个内容相同的文件。这里我们使用的是 nano 。
$ nano diffsample1
使用 Ctrl+X 和 Y 保存并退出。
创建第二个文件:
$ nano diffsample2
输入同样的内容并保存退出。
需要注意的是,空格和 Tab 对两个文件是否完全相同会有影响。
使用 diff 命令查看两个文件是否有差异:
$ diff diffsample1 diffsample2
这时 diff 命令没有输出任何信息,说明这两个文件的内容是完全相同的。
现在我们对 diffsample2 做一些修改,将文章改为帖子然后保存并退出