怎么使用 Diff 和 Meld 工具发现两个目录间的不同之处
创始人
2024-03-01 19:54:54
0

在之前的一篇文章里,我们回顾了 Linux 下 9 个最好的文件比较工具,本篇文章中,我们将会描述在 Linux 下怎样找到两个目录之间的不同。

一般情况下,要在 Linux 下比较两个文件,我们会使用 diff (一个简单的源自 Unix 的命令行工具)来显示两个计算机文件的不同;它一行一行的去比较文件,而且很方便使用,在几乎全部的 Linux 发行版都预装了。

问题是在 Linux 下我们怎么才能比较两个目录?现在,我们想知道两个目录中哪些文件/子目录是共有的,哪些只存在一个于目录。

运行 diff 常规的语法如下:

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

默认情况下,输出是按文件/子文件夹的文件名的字母排序的,如下面截图所示,在命令中, -q 开关是告诉 diif 只有在文件有差异时报告。

$ diff -q directory-1/ directory-2/

Difference Between Two Directories

两个文件夹之间的差异

再次运行 diff 并不能进入子文件夹,但是我们可以使用 -r 开关来读子文件夹,如下所示。

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

使用 Meld 可视化比较和合并工具

meld 是一个很酷的图形化工具(一个 GNOME 桌面下的可视化的比较和合并工具),可供那些喜欢使用鼠标的人使用,可按如下来安装。

$ sudo apt install meld  [Debian/Ubuntu systems]
$ sudo yum install meld  [RHEL/CentOS systems]
$ sudo dnf install meld  [Fedora 22+]

一旦你安装了它之后,在 Ubuntu Dash 或者 Linux Mint 菜单搜索 “meld” ,或者 Fedora 或 CentOS 桌面的 Activities Overview,然后启动它。

你可以看到如下的 Meld 界面,可以选择文件或者文件夹来比较,此外还有版本控制视图。点击目录比较并移动到下个界面。 Meld Comparison Tool

Meld 比较工具

选择你想要比较的文件夹,注意你可以勾选 “3-way Comparison” 选项,添加第三个文件夹。

Select Comparison Directories

选择比较的文件夹

选择好要比较的文件夹后,点击 “Compare”。

Listing Difference Between +

文件夹不同列表

在这篇文章中,我们描述了怎么在 Linux 下找到两个文件夹的不同。如果你知道其他的命令或者图形界面工具,不要忘记在下方评论分享你们的想法。


作者简介:

Aaron Kili 是一个 Linux 和 F.O.S.S 爱好者,即将成为 Linux 系统管理员,Web 开发者,目前是 TecMint 的内容创建者,他喜欢使用电脑工作,并且非常相信分享知识。


via: http://www.tecmint.com/compare-find-difference-between-two-directories-in-linux/

作者:Aaron Kili 译者:hkurj 校对:jasminepeng

本文由 LCTT 原创编译,Linux中国 荣誉推出

相关内容

Bytedifferenc...
问题的解决方案是,在使用Python cryptography库和...
2025-01-12 22:01:37
Buttonwithdif...
在Android和iPhone上的Button控件间距不同的问题,...
2025-01-10 05:00:13
不同指数的收盘称为&quo...
这里是一个可能的解决方法,使用Python编写了一个示例代码:de...
2025-01-10 01:01:23
不同时区中的“DateTi...
问题描述:在不同的时区中,使用DateTime对象计算时间差时可能...
2025-01-09 16:34:06
不同目录中的2个文件进行d...
使用diff命令加上文件路径参数可以实现,例如:diff /pat...
2025-01-09 12:30:24
不同的输入格式导致R的di...
此问题的原因是,对于日期/时间的不同输入格式,difftime函数...
2025-01-08 19:01:34

热门资讯

Helix:高级 Linux ... 说到 基于终端的文本编辑器,通常 Vim、Emacs 和 Nano 受到了关注。这并不意味着没有其他...
使用 KRAWL 扫描 Kub... 用 KRAWL 脚本来识别 Kubernetes Pod 和容器中的错误。当你使用 Kubernet...
JStock:Linux 上不... 如果你在股票市场做投资,那么你可能非常清楚投资组合管理计划有多重要。管理投资组合的目标是依据你能承受...
通过 SaltStack 管理... 我在搜索Puppet的替代品时,偶然间碰到了Salt。我喜欢puppet,但是我又爱上Salt了:)...
Epic 游戏商店现在可在 S... 现在可以在 Steam Deck 上运行 Epic 游戏商店了,几乎无懈可击! 但是,它是非官方的。...
《Apex 英雄》正式可在 S... 《Apex 英雄》现已通过 Steam Deck 验证,这使其成为支持 Linux 的顶级多人游戏之...
如何在 Github 上创建一... 学习如何复刻一个仓库,进行更改,并要求维护人员审查并合并它。你知道如何使用 git 了,你有一个 G...
2024 开年,LLUG 和你... Hi,Linuxer,2024 新年伊始,不知道你是否已经准备好迎接新的一年~ 2024 年,Lin...
什么是 KDE Connect... 什么是 KDE Connect?它的主要特性是什么?它应该如何安装?本文提供了基本的使用指南。科技日...
Opera 浏览器内置的 VP... 昨天我们报道过 Opera 浏览器内置了 VPN 服务,用户打开它可以防止他们的在线活动被窥视。不过...