文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

详解 Linux 中的 diff 命令及示例

2024-12-02 02:33

关注

文件比较在 Linux 中起着重要的作用,特别是对于程序员和 Linux 系统管理员。例如,如果您想找到两个源代码文件之间的差异来开发补丁,那么您需要一个文件比较工具来简化这个过程。Linux 中有几个命令行工具可用于比较两个文件。其中,diff 是一个非常流行的命令行实用程序,它提供了各种选项来获取两个文件之间的差异。

在这篇文章中,我们将向您展示如何在 Linux 终端中比较两个文件。

先决条件

创建云服务器

首先,登录到您的云服务器。创建一个新服务器,选择任何具有至少 1GB RAM 的 Linux 操作系统。通过 SSH 连接到您的云服务器并使用页面顶部突出显示的凭据登录。

基本语法

diff 命令的基本语法如下所示:

diff [OPTION] FILES

每个选项的简要说明如下所示:

在 Linux 中创建文件

要在 Linux 中执行文件比较,您需要在系统中创建一些文件。

让我们创建一个名为 file1.txt 的第一个文件:

添加以下内容:

11 12 13 14 15 16 17 18 19
eveven twelve thirteen fourteen fifteen sixteen seventeen eighteen ninteen
In this file, we added some numbers in text and numeric form
www.LinuxMI.com

再创建一个名为 file2.txt 的第二个文件:

添加以下内容:

10 12 3 14 8 16 7 18 19
five twelve eight fourteen fifteen nine seventeen one ninteen
In this file, we added some numbers in text and numeric form
www.LinuxMI.com

最后让我们创建第三个名为 file3.txt 的文件,其内容类似于 file1.txt:

添加以下内容:

11 12 13 14 15 16 17 18 19
eveven twelve thirteen fourteen fifteen sixteen seventeen eighteen ninteen
In this file, we added some numbers in text and numeric form
www.LinuxMI.com

打印两个文件之间的差异

至此,三个文件已准备好与 diff 命令一起实际使用。

现在,要打印两个名为file1.txt和file2.txt的文件之间的差异,请运行:

linuxmi@linuxmi /home/linuxmi/www.linuxmi.com                              
diff file1.txt file2.txt

您将获得以下输出:

1,2c1,2
< 11 12 13 14 15 16 17 18 19
< eveven twelve thirteen fourteen fifteen sixteen seventeen eighteen ninteen
---
> 10 12 3 14 8 16 7 18 19
> five twelve eight fourteen fifteen nine seventeen one ninteen

如您所见,diff 命令省略了两个文件之间的所有相似之处,只显示了它们的不同之处。

如果要在上下文模式下显示输出,请使用-c选项:

linuxmi@linuxmi /home/linuxmi/www.linuxmi.com                              
diff -c file1.txt file2.txt

您将获得以下输出:

*** file1.txt  2022-05-07 22:37:23.371594485 +0800
--- file2.txt 2022-05-07 22:37:15.699594796 +0800
***************
*** 1,4 ****
! 11 12 13 14 15 16 17 18 19
! eveven twelve thirteen fourteen fifteen sixteen seventeen eighteen ninteen
In this file, we added some numbers in text and numeric form
www.LinuxMI.com
--- 1,4 ----
! 10 12 3 14 8 16 7 18 19
! five twelve eight fourteen fifteen nine seventeen one ninteen
In this file, we added some numbers in text and numeric form
www.LinuxMI.com

使用 diff 命令查找相似文件

您可以在 diff 命令中使用 -s 标志来检查两个文件是否相似。

运行以下命令比较 file1.txt 和 file3.txt:

linuxmi@linuxmi /home/linuxmi/www.linuxmi.com                              
diff -s file1.txt file3.txt

您应该看到以下输出:

文件 file1.txt 和 file3.txt 相同

使用 Diff 命令查找不同的文件

您可以在 diff 命令中使用-q标志来检查两个文件是否不同。

运行以下命令来比较file1.txt和file2.txt:

linuxmi@linuxmi /home/linuxmi/www.linuxmi.com                              
diff -q file1.txt file2.txt

您应该看到以下输出:

文件 file1.txt 和 file2.txt 不同

在并排视图中显示输出

如果您比较两个文件并希望在并排视图中显示文件差异,请使用-y选项。

linuxmi@linuxmi /home/linuxmi/www.linuxmi.com                                                                                  
diff -y file1.txt file2.txt

您应该看到以下输出:

如果您想忽略上述输出中两个文件之间的相似性,请运行以下命令:

linuxmi@linuxmi /home/linuxmi/www.linuxmi.com                                                                                  
diff -y --suppress-common-lines file1.txt file2.txt

您应该看到以下输出:

结论

在这篇文章中,我们解释了如何在 Linux 中使用 diff 命令比较两个文件。我们还演示了几个用例来解释如何在不同的条件下使用 diff 命令。

来源:Linux公社内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯