咱们已经从一个新手的角度了解了 Meld (包括 Meld 的安装),咱们也说起了一些 Meld 中级用户经常使用的小技巧。若是你有印象,在新手教程中,咱们说过 Meld 能够比较文件和文件夹。已经讨论过怎么比较文件,今天,咱们来看看 Meld 怎么比较文件夹。html
须要指出的是,本教程中的全部命令和例子都是在 Ubuntu 14.04 上测试的,使用的 Meld 版本为 3.14.2。linux
用 Meld 比较文件夹shell
打开 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
本文地址:http://www.linuxprobe.com/how-to-use-meld-linux.html