干货!在Linux上使用Meld比较文件夹

Crq
Crq
Crq
1161
文章
0
评论
2024年12月15日23:50:38
评论
19 2171字阅读7分14秒
摘要

我们已经从一个新手的角度了解了 Meld (包括 Meld 的安装),我们也提及了一些 Meld 中级用户常用的小技巧。如果你有印象,在新手教程中,我们说过 Meld 可以比较文件和文件夹。已经讨论过怎么比较文件,今天,我们来看看 Meld 怎么比较文件夹。

如何在Linux上使用Meld比较文件夹

我们已经从一个新手的角度了解了 Meld (包括 Meld 的安装),我们也提及了一些 Meld 中级用户常用的小技巧。如果你有印象,在新手教程中,我们说过 Meld 可以比较文件和文件夹。已经讨论过怎么比较文件,今天,我们来看看 Meld 怎么比较文件夹。

需要指出的是,本教程中的所有命令和例子都是在 Ubuntu 14.04 上测试的,使用的 Meld 版本为 3.14.2。

用 Meld 比较文件夹

打开 Meld 工具,然后选择 比较文件夹Directory comparison 选项来比较两个文件夹。

如何在Linux上使用Meld比较文件夹

Compare directories using Meld

选择你要比较的文件夹:

如何在Linux上使用Meld比较文件夹

select the directories

然后单击比较Compare 按钮,你会看到 Meld 像图中这样分成两栏比较目录,就像文件比较一样。

如何在Linux上使用Meld比较文件夹

Compare directories visually

分栏会树形显示这些文件夹。你可以在上图中看到 —— 区别之处,不论是新建的还是被修改过的文件 —— 都会以不同的颜色高亮显示。

根据 Meld 的官方文档可以知道,在窗口中看到的每个不同的文件或文件夹都会被突出显示。这样就很容易看出这个文件/文件夹与另一个分栏中对应位置的文件/文件夹的区别。

下表是 Meld 网站上列出的在比较文件夹时突出显示的不同字体大小/颜色/背景等代表的含义。

状态 表现 含义
相同 正常字体 比较的文件夹中所有文件/文件夹相同。
过滤后相同 斜体 文件夹中文件不同,但使用文本过滤器的话,文件是相同的。
修改过 蓝色粗体 比较的文件夹中这些文件不同。
新建 绿色粗体 该文件/文件夹在这个目录中存在,但其它目录中没有。
缺失 置灰文本,删除线 该文件/文件夹在这个目录中不存在,在在其它某个目录中存在。
错误 黄色背景的红色粗体 比较文件时发生错误,最常见错误原因是文件权限(例如,Meld 无法打开该文件)和文件名编码错误。

Meld 默认会列出比较文件夹中的所有内容,即使这些内容没有任何不同。当然,你也可以在工具栏中单击相同Same按钮设置 Meld 不显示这些相同的文件/文件夹 —— 单击这个按钮使其不可用。

如何在Linux上使用Meld比较文件夹

 same button

如何在Linux上使用Meld比较文件夹

Meld compare buttons

下面是单击 相同Same 按钮使其不可用的截图:

如何在Linux上使用Meld比较文件夹

Directory Comparison without same files

这样你会看到只显示了两个文件夹中不同的文件(新建的和修改过的)。同样,如果你单击 新建New 按钮使其不可用,那么 Meld 就只会列出修改过的文件。所以,在比较文件夹时可以通过这些按钮自定义要显示的内容。

你可以使用工具窗口显示区的上下箭头来切换选择是显示新建的文件还是修改过的文件。要打开两个文件进行分栏比较,可以双击文件,或者单击箭头旁边的 比较Compare按钮。

如何在Linux上使用Meld比较文件夹

meld compare arrow keys

提示 1:如果你仔细观察,就会看到 Meld 窗口的左边和右边有一些小条。这些条的目的是提供“简单的用颜色区分的比较结果”。对每个不同的文件/文件夹,条上就有一个小的颜色块。你可以单击每一个这样的小块跳到它对应的文件/文件夹。

提示 2:你总可以分栏比较文件,然后以你的方式合并不同的文件,假如你想要合并所有不同的文件/文件夹(就是说你想要一个特定的文件/文件夹与另一个完全相同),那么你可以用 复制到左边Copy Left和 复制到右边Copy Right 按钮:

如何在Linux上使用Meld比较文件夹

meld copy right part

比如,你可以在左边的分栏中选择一个文件或文件夹,然后单击 复制到右边Copy Right 按钮,使右边对应条目完全一样。

现在,在窗口的下拉菜单中找到 过滤Filters 按钮,它就在 相同Same、新建New 和 修改的Modified 这三个按钮下面。这里你可以选择或取消文件的类型,告知 Meld 在比较文件夹时是否显示这种类型的文件/文件夹。官方文档解释说菜单中的这个条目表示“执行文件夹比较时该类文件名不会被查看。”

该列表中条目包括备份文件,操作系统元数据,版本控制文件、二进制文件和多媒体文件。

如何在Linux上使用Meld比较文件夹

Meld filters

前面提到的条目也可以通过这样的方式找到:浏览->文件过滤。你可以通过 编辑->首选项->文件过滤 为这个条目增加新元素(也可以删除已经存在的元素)。

如何在Linux上使用Meld比较文件夹

Meld preferences

要新建一个过滤条件,你需要使用一组 shell 符号,下表列出了 Meld 支持的 shell 符号:

通配符 匹配
* 任何字符 (例如,零个或多个字符)
? 一个字符
[abc] 所列字符中的任何一个
[!abc] 不在所列字符中的任何一个
{cat,dog} “cat” 或 “dog” 中的一个

最重要的一点是 Meld 的文件名默认大小写敏感。也就是说,Meld 认为 readme 和 ReadMe 与 README 是不一样的文件。

幸运的是,你可以关掉 Meld 的大小写敏感。只需要打开 浏览 菜单然后选择 忽略文件名大小写 Ignore Filename Case 选项。

如何在Linux上使用Meld比较文件夹

Meld ignore filename case

结论

你是否觉得使用 Meld 比较文件夹很容易呢 —— 事实上,我认为它相当容易。只有新建一个文件过滤器会花点时间,但是这不意味着你没必要学习创建过滤器。显然,这取决于你的需求。

另外,你甚至可以用 Meld 比较三个文件夹。想要比较三个文件夹时,你可以通过单击 三向比较3-way comparison 复选框。今天,我们不介绍怎么比较三个文件夹,但它肯定会出现在后续的教程中。

weinxin
我的微信
这是我的微信扫一扫
Crq
  • 本文由 发表于 2024年12月15日23:50:38
  • 转载请注明:https://www.cncrq.com/12156.html
DevOps监控微服务的五原则 Linux教程

DevOps监控微服务的五原则

监控是微服务控制系统的关键部分,你的软件越复杂,那么你就越难了解其性能及问题排障。鉴于软件交付发生的巨大改变,监控系统同样需要进行彻底的改造,以便在微服务环境下表现更好。
Linux 中重置数据库的 root 密码的技巧 Linux教程

Linux 中重置数据库的 root 密码的技巧

其中一项是设置数据库 root 帐户的密码 - 你必须保持私密,并仅在绝对需要时使用。如果你忘记了密码或需要重置密码(例如,当数据库管理员换人或被裁员!),这篇文章会派上用场。
总说Linux,到底什么是Linux? Linux教程

总说Linux,到底什么是Linux?

Linux是最知名和最常用的开源操作系统。作为一个操作系统,Linux是一个软件,位于计算机上的所有其他软件的下面,从这些程序接收请求并将这些请求转发到计算机硬件。
Ubuntu12.04嵌入式交叉编译环境搭建 Linux教程

Ubuntu12.04嵌入式交叉编译环境搭建

在一种计算机环境中运行的编译程序,能编译出在另外一种环境下运行的代码,我们就称这种编译器支持交叉编译,这个编译过程就叫交叉编译。简单地说,就是在一个平台上生成另一个平台上的可执行代...
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: