如何使用 Diff 和 Meld 工具查找两个目录之间的差异

在之前的文章中,我们回顾了在这篇文章中,我们将描述如何在 Linux 中查找两个目录之间的差异。

通常情况下,要,我们使用差异– 一个简单而原始的Unix命令行工具,可以向您展示两个计算机文件之间的差异;逐行比较文件,并且易于使用,预装在大多数(如果不是全部)Linux 发行版上。

问题是我们如何获得Linux中两个目录之间的差异?在这里,我们想知道两个目录中哪些文件/子目录是共同的,哪些文件/子目录存在于一个目录中但不存在于另一个目录中。

运行 diff 的常规语法如下:

$ diff [OPTION]… FILES
$ diff options dir1 dir2 

默认情况下,其输出按文件/子目录名称的字母顺序排列,如下面的屏幕截图所示。在此命令中,-qswitch 告诉 diff 仅当文件不同时才报告。

$ diff -q directory-1/ directory-2/
两个目录之间的差异

同样 diff 不会进入子目录,但我们可以使用-r切换到读取子目录也是如此。

$ diff -qr directory-1/ directory-2/ 

使用 Meld 视觉差异和合并工具

有一个很酷的图形选项叫做融合(视觉差异和 GNOME 桌面的合并工具)对于那些喜欢使用鼠标的人,您可以按如下方式安装它。

$ sudo apt install meld         [On Debian, Ubuntu and Mint]
$ sudo yum install meld         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
$ sudo emerge -a sys-apps/meld  [On Gentoo Linux]
$ sudo apk add meld             [On Alpine Linux]
$ sudo pacman -S meld           [On Arch Linux]
$ sudo zypper install meld      [On OpenSUSE]   
$ sudo brew install meld        [On macOS]  

安装后,搜索“融合” 在Ubuntu 达世币或者Linux Mint 菜单, 在活动概览在 Fedora 或 CentOS 桌面上并启动它。

你会看到梅尔德下面的界面,您可以在其中选择文件或目录比较以及版本控制视图。点击目录比较,进入下一个界面。

融合比较工具

选择要比较的目录,请注意,您可以通过选中选项“添加第三个目录”三向比较”。

选择比较目录

选择目录后,单击“比较”。

列出目录之间的差异

在本文中,我们描述了如何在 Linux 中查找两个目录之间的差异。如果您知道任何其他命令行或 GUI 方式,请不要忘记通过下面的评论部分分享您对本文的想法。