如何使用 Diff 和 Meld 工具查找两个目录之间的差异
在之前的文章中,我们回顾了9 种适用于 Linux 的最佳文件比较和差异 (Diff) 工具,在本文中,我们将介绍如何在 Linux 中查找两个目录之间的差异。
通常,为了在 Linux 中比较两个文件,我们使用diff – 这是一个简单而原始的 Unix 命令行工具,它可以显示两个计算机文件之间的差异;逐行比较文件,并且易于使用,在大多数(如果不是全部)Linux 发行版上都预装了该工具。
问题是我们如何获得 Linux 中两个目录之间的差异?在这里,我们想知道两个目录中有哪些文件/子目录是共同的,即在一个目录中存在但在另一个目录中不存在的文件/子目录。
运行 diff 的常规语法如下:
$ diff [OPTION]… FILES $ diff options dir1 dir2
默认情况下,其输出按文件/子目录名称的字母顺序排列,如下面的屏幕截图所示。在此命令中,开关-q
告诉 diff 仅在文件不同时报告。
$ diff -q directory-1/ directory-2/
再次,diff 不会进入子目录,但是我们可以使用开关-r
来读取子目录,就像这样。
$ diff -qr directory-1/ directory-2/
使用 Meld Visual Diff 和 Merge 工具
对于喜欢使用鼠标的人来说,有一个很酷的图形选项叫做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]
安装完成后,在 Fedora 或 CentOS 桌面上的活动概览中,在Ubuntu Dash或Linux Mint 菜单中搜索“ meld ”并启动它。
您将看到下面的Meld界面,您可以在其中选择文件或目录比较以及版本控制视图。单击目录比较并转到下一个界面。
选择您想要比较的目录,注意您可以通过选中“三向比较”选项来添加第三个目录。
选择目录后,单击“比较”。
在本文中,我们描述了如何在 Linux 中查找两个目录之间的差异。如果您知道任何其他命令行或 GUI 方法,请不要忘记通过下面的评论部分分享您对本文的想法。