详解 Linux 中的 diff 命令及示例

文章目录
  • 首先,登录到您的云服务器。创建一个新服务器,选择任何具有至少 1GB RAM 的 Linux 操作系统。通过 SSH 连接到您的云服务器并使用页面顶部突出显示的凭据登录。
  • diff 命令的基本语法如下所示: diff [OPTION] FILES 每个选项的简要说明如下所示: -s 两个文件相同时报告 -c 在上下文模式下显示输出 -q 仅在文件不同时报告 -y 在两列中显示差异输出 -r 递归比较任何子目录 -i 忽略文件内容的大小写差异 -w 忽略所有空格 –ignore-file-name-case 比较文件名时忽略大小写 --no-ignore-file-name-case 比较文件名时考虑一种情况
  • 要在 Linux 中执行文件比较,您需要在系统中创建一些文件。 让我们创建一个名为 file1.txt 的第一个文件:
  • 至此,三个文件已准备好与 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 命令中使用 -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 中的 diff 命令及示例

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

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

    • 运行 Linux 的服务器
    • 在您的服务器上配置的 root 密码

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

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

    diff [OPTION] FILES

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

    • -s 两个文件相同时报告
    • -c 在上下文模式下显示输出
    • -q 仅在文件不同时报告
    • -y 在两列中显示差异输出
    • -r 递归比较任何子目录
    • -i 忽略文件内容的大小写差异
    • -w 忽略所有空格
    • –ignore-file-name-case 比较文件名时忽略大小写
    • --no-ignore-file-name-case 比较文件名时考虑一种情况

    要在 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

    详解 Linux 中的 diff 命令及示例

    如您所见,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

    详解 Linux 中的 diff 命令及示例

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

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

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

    您应该看到以下输出:

    文件 file1.txt 和 file3.txt 相同

    详解 Linux 中的 diff 命令及示例

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

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

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

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

    您应该看到以下输出:

    文件 file1.txt 和 file2.txt 不同

    详解 Linux 中的 diff 命令及示例

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

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

    您应该看到以下输出:

    详解 Linux 中的 diff 命令及示例

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

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

    您应该看到以下输出:

    详解 Linux 中的 diff 命令及示例

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

    © 版权声明

    相关文章