在 Linux 上使用 Meld 比较文件夹

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

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

用 Meld 比较文件夹

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

Compare directories using Meld

选择你要比较的文件夹:

select the directories

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

Compare directories visually

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

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

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

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

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

same button

Meld compare buttons

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

Directory Comparison without same files

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

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

meld compare arrow keys

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

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

meld copy right part

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

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

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

Meld filters

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

Meld preferences

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

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

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

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

Meld ignore filename case

结论

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

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

原文发布时间为:2017-04-29

时间: 2024-12-22 15:52:17

在 Linux 上使用 Meld 比较文件夹的相关文章

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

我们已经从一个新手的角度了解了 Meld (包括 Meld 的安装),我们也提及了一些 Meld 中级用户常用的小技巧.如果你有印象,在新手教程中,我们说过 Meld 可以比较文件和文件夹.已经讨论过怎么比较文件,今天,我们来看看 Meld 怎么比较文件夹. 需要指出的是,本教程中的所有命令和例子都是在 Ubuntu 14.04 上测试的,使用的 Meld 版本为 3.14.2. 用 Meld 比较文件夹 打开 Meld 工具,然后选择 比较文件夹Directory comparison 选项来

在 Linux 上使用 eCryptFS 加密文件和目录

在 Linux 上使用 eCryptFS 加密文件和目录 作为罪犯,你需要为自己的身份保密:而作为中情局成员,你同样也需要为自己的身份保密.但是,你却不是他们其中的任何一员,你只是不想其他人查探到你的金融数据.家庭照片.尚未出版的手稿,或者记录着你能发家致富的最初想法的私密笔记. 我时常听到有人告诉我"我只是个微不足道的人,没人会查探我"或者"我没有什么东西要隐藏的."好吧,告诉你我的想法,即便我没有什么要隐藏的,或者我也可以公开我带着狗的孩子的照片,那我也有权利不

centos-centOS nfs问题 192.168.1.3上共享了一个文件夹/usr/shareDir

问题描述 centOS nfs问题 192.168.1.3上共享了一个文件夹/usr/shareDir 在192.168.1.4上运行showmount -e 192.168.1.3输出结果为 Export list for 192.168.1.3: /usr/shareDir 192.168.1.4 但是执行:mount -t nfs 192.168.1.3:/usr/shareDir /usr/tttt 时会出现:mount.nfs: Connection timed out错误, 所有防火

android相机拍照后上传到指定文件夹,opencv是通过调用文件夹里图片进行处理的吗?

问题描述 android相机拍照后上传到指定文件夹,opencv是通过调用文件夹里图片进行处理的吗? 现在有一个Android拍照上传到指定文件夹的程序和一个opencv图像匹配的程序,能否通过修改某些语句和配置环境可以将两者结合?如果可以求大神赐教!(opencv是在文件夹选取图片进行匹配的.) 解决方案 可以直接调用文件夹里的图片处理,配置的话把路径配置成相对路径就可以了

c++-为什么IDE上运行正常在文件夹中打开却不能正常运行(C++)

问题描述 为什么IDE上运行正常在文件夹中打开却不能正常运行(C++) #include#include#include#include#includeusing namespace std; int main(){ string ab; strstream c; char x; int i; cout << ""输入多少小时之后关机"" << endl; x = getch(); i = (int(x) - 48) * 3600;//秒数

dfs-本地文件上传到hadoop文件夹时出错。各路求助大神。

问题描述 本地文件上传到hadoop文件夹时出错.各路求助大神. 把本地文件上传到hadoop的文件下,本地上传文件后面出现 COPYING on client 127.0.0.1.然后在hadoop文件夹下面没有文件.大神求助啊.. $ bin/hdfs dfs -put etc/hadoop input2 15/08/25 10:14:26 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your pl

Linux有问必答:如何在Linux上安装内核头文件

Linux有问必答:如何在Linux上安装内核头文件 提问:我在安装一个设备驱动前先要安装内核头文件.怎样安装合适的内核头文件? 当你在编译一个设备驱动模块时,你需要在系统中安装内核头文件.内核头文件同样在你编译与内核直接链接的用户空间程序时需要.当你在这些情况下安装内核头文件时,你必须确保内核头文件精确地与你当前内核版本匹配(比如:3.13.0-24-generic). 如果你的内核是发行版自带的内核版本,或者使用默认的包管理器的基础仓库升级的(比如:apt-ger.aptitude或者yum

使用FileUpload控件上传图片,上传不到文件夹,数据库也没有写入,图片无法显示。

问题描述 使用FileUpload控件上传图片,图片上传不到文件夹,数据库也没有写入图片的表,图片无法显示.但其他都正常,都能显示前台页面代码:<bodystyle="background-image:url(../images/right.png);background-repeat:no-repeat;"><formid="form1"runat="server"><div><br/><b

详解linux下tar压缩解压缩文件夹的命令与参数_Linux

前言 tar在linux上是常用的打包.压缩.加压缩工具,他的参数很多,这篇文章仅仅列举常用的压缩与解压缩参数,下面直接先上三个常用命令,一起来看看吧 1.压缩当前目录下文件夹/文件test到test.tar.gz: tar -zcvf test.tar.gz test 2.解压缩当前目录下的file.tar.gz到file: tar -zxvf file.tar.gz 参数详解 五个命令中必选一个      -c: 建立压缩档案      -x:解压      -t:查看内容      -r: