Linux 中如何比较两个文件的差异?答案是使用 diff 命令。
那么,如何比较两个文件夹呢?仍然使用 diff 命令。
另外,使用 GUI 工具也可以更容易的以可视化界面来查看两个目录之间的差异。
今天我们分享一下如何使用 diff 命令来比较目录。
使用 tree 命令可查看我们今天的例子中使用的两个目录的结构:
使用 diff 命令比较目录
使用 diff 命令,可参照如下语法结构:
diff -qr Directory-1 Directory-2
-q 选项,用于查找差异。当两个目录中发现差异的时候,会有输出报告:
diff -q LHB-1 LHB-2
但是,大家仔细看输出结果,diff 命令只查看第一层目录结构。默认情况下,它不会查找子目录中的文件。
要执行递归查找,需要使用 -r 选项:
diff -qr LHB-1 LHB-2
但是,另外的情况,如果想要查找类似的文件呢?
查找类似的文件可以使用 -s 选项。如果同时使用 -q 和 -s,将会同时显示相同和不同的目录文件:
diff -qrs LHB-1 LHB-2
diff 命令显示目录中不同的文件。要查看差异,可以再次对文件运行 diff 命令,以查看其内容的差异。
使用 GUI 工具来比较目录
如果不想使用命令行工具,只想以最简单的方式比较两个目录,可以使用 Meld。
Meld 是一个可以检查和合并差异的 GUI 工具。当然,使用前需要安装。如果使用的是 Ubuntu/Debian 系统,使用如下命令:
sudo apt install meld
安装完成后,使用 Meld,可执行以下三个简单的步骤:
- 选择目录比较(directory comparison)
- 选择需要比较的目录
- 点击比较(compare)按钮
点击比较按钮后,它将显示所选目录中的匹配文件和不同文件:
标注星号的是完全匹配的文件,而用绿色突出显示的文件名仅可用于相应的目录。