当前位置: 首页>>技术问答>>正文


文件和目录比较工具?

, ,

问题描述

我正在寻找能够比较像Beyond Compare for windows这样的目录和文件的东西。

它主要用于源代码控制,但我也需要将其用于部署。

最佳解决办法

Meld

Meld是一个可以比较和合并文件和目录的工具。它是标准diffpatch命令行工具的GUI模拟。 (有关这些的更多详细信息,请参阅man diffman patch)

software-recommendation,diff,ubuntu

software-recommendation,diff,ubuntu

software-recommendation,diff,ubuntu

此外,许多源代码管理系统(如bzrgit)可以在不同版本之间创建差异。

software-recommendation,diff,ubuntu

software-recommendation,diff,ubuntu

次佳解决办法

差异是你的朋友。

diff -ur path1 path2

这将比较path1和path2之间的所有文件。

如果将-ur更改为-urN,那么它也将显示仅存在于其中一个路径中的文件的内容。

第三种解决办法

‘Beyond Compare’也可用于Linux。

检查他们的下载网址:http://www.scootersoftware.com/download.php

第四种办法

使用diff命令:

diff -u file1 file2

diff -u选择具有几行上下文的格式。一个普通的diff file1 file2只列出不同的行。还有很多选项可以控制输出格式,忽略whitespace-only差异等。

如果您想将输出写入文件,请重定向它:

diff -u file1 file2 >file1-file2.diff

第五种办法

Gnome Commander

software-recommendation,diff,ubuntu

界面可能不是真正的性感,但它非常强大!

software-recommendation,diff,ubuntu

如果你习惯了其他*指挥官(如诺顿或喜欢),你不会迷路。

第六种办法

命令行工具

灵感来自this blog entry

diff

列出不同的文件:

diff -qr folder1 folder2

清单还包含内容:

diff -Naur folder1 folder2

rsync

如果这两个目录不在同一台计算机上,rsync可能是最简单的解决方案。通常rsync用于同步目录,但可以在详细和干燥模式下运行它,因此它只会列出必须更改的文件。

rsync -rvnc --delete folder1 server:/path/to/folder2

如果您想根据时间戳和文件大小比较文件以加快速度,可以省略c

rsync -rvn --delete folder1 server:/path/to/folder2

第七种办法

Krusader

Krusader是一个免费工具(可在软件中心获得),比较显示文件夹内容,您可以同步许多不同的选项。您可以在进行同步和比较时进行过滤。

software-recommendation,diff,ubuntu

要比较文件内容,只需标记两个文件,选择”file”> “compare content”,并以字母为单位进行比较。 krusader使用的默认比较工具是默认的KDE工具”Kompare”。您可以将krusader设置为使用任何其他比较工具 – 例如上面的其中一个。

这是我找到的最完整的解决方案,非常方便。它支持午夜指挥官使用的所有功能keybindungs(诺顿指挥官语法)。

第八种办法

KDiff3

这是一个图形front-end来区分KDE用户(或者如果您不介意使用Qt应用程序)。

software-recommendation,diff,ubuntu

目录也有dirdiff

software-recommendation,diff,ubuntu

第九种办法

也许Meld是你正在寻找的。或者here是一些其他的选择。

第十种办法

Unison是一款使用rsync算法的快速文件同步工具,可以在两个位置之间进行更新之前预览差异,无论它们是远程还是本地。

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/339.html,未经允许,请勿转载。