在之前的文章中,我们回顾了在这篇文章中,我们将描述如何在 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 方式,请不要忘记通过下面的评论部分分享您对本文的想法。
