主要用于源代码控制,但我也需要使用它进行部署。
#1 楼
产生
产生是可以比较和合并文件和目录的工具。它是标准
diff
,和patch
,命令行工具的GUI模拟。 (有关详细信息,请参阅man diff和man补丁)。此外,许多源代码控制系统(例如
bzr
或git
)都能够在版本之间创建差异。 >评论
熔是惊人的。我将其用作源代码控制差异。
–马特细木工
2010年11月11日,0:30
刚刚尝试在一个较大的文件夹中-4 GB,2000个文件。融合的功能是所需的。但是对于此文件夹,融合非常慢,并且UI无响应(阻止)。现在使用rsync。
–geekQ
13年5月7日在9:33
在并排比较文本文件甚至复制粘贴内容时也非常有用。我见过的最好的界面!
– Stefan Rogin
2014年8月23日12:30
@geekQ是一种快速的替代方法,能够立即处理您想要的文件夹,请参阅下面的“比较”。优于融合恕我直言
– phil294
16-11-27在18:24
每当我想选择一个文件夹时Meld都会崩溃:/我的发行版本存储库中有最新版本(Ubuntu 14.04)
–Youda008
17年4月13日14:49
#2 楼
Diff是您的朋友。diff -ur path1 path2
这将比较path1和path2之间所有公用的文件。
如果将
-ur
更改为-urN
,则还会显示仅在其中一个路径中存在的文件的内容。评论
安装了colordiff并使用了colordiff -ur path1 path2
– warvariuc
2014年11月6日在6:44
在cygwin中不起作用。
–TomášZato-恢复莫妮卡
16-10-16在18:47
#3 楼
“超越比较”也可用于Linux。检查其下载URL。其德语站点位于http://www.beyondcompare.de/。
评论
在对远程主机执行ssh(使用密钥或密码)并将其与本地副本进行比较时,“超越比较”特别有用。
–brianlmerritt
16-10-5在10:43
#4 楼
使用diff
命令:diff -u file1 file2
diff -u
选择带有几行上下文的格式。普通diff file1 file2
仅列出不同的行。还有更多选项可用于控制输出格式,忽略仅空白的差异等。如果要将输出写入文件,请重定向它:
diff -u file1 file2 >file1-file2.diff
#5 楼
Gnome Commander该界面可能并不真正性感,但是它非常强大! (例如Norton等),您不会迷路。
评论
我没有用它来比较2个文件,但是我用它来告诉我与目录比较时哪些文件不同。这在整理照片时特别有用;-)
–惠更斯
2010-11-10 19:23
#6 楼
命令行工具受本博客文章的启发。
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
#7 楼
Krusader
Krusader是一个免费工具(可在Software Center中获得),它可以比较显示文件夹内容,并且您可以与许多其他选项进行同步。您可以在同步和比较时进行过滤。
要比较文件内容,只需标记两个文件,然后选择“文件”>“比较内容”,然后逐个字母地进行比较。 krusader使用的默认比较工具是默认的KDE工具“ Kompare”。您可以将krusader设置为使用任何其他比较工具-例如上面的一种。
这是我找到的最完整的解决方案,非常方便。
它支持所有使用的功能keybindungs午夜指挥官(诺顿指挥官语法)。
评论
您还可以使用“工具->同步目录”来获取两个目录面板的递归文件更改视图。
–安吉洛斯·皮库拉斯(Angelos Pikoulas)
2014年2月20日在10:56
不幸的是,krusader中的同步器无法维护:bugs.kde.org/show_bug.cgi?id=270150#c7。是否有积极维护的替代方案?
–rubo77
2014年2月24日在9:38
@ rubo77:此错误已得到修复。
– mivk
18年8月28日在17:07
#8 楼
KDiff3
它是KDE用户(或如果您不介意使用Qt应用程序)进行比较的图形化前端。
有也是目录的dirdiff 。
#9 楼
也许Meld是您要寻找的东西。或者这里还有其他选择。
#10 楼
我两周前了解了hashdeep。它具有一些强大的优势:与
meld
相比,它非常适合大型文件夹。在meld
变得非常慢且UI无响应(被阻塞)的情况下,hashdeep只能以恒定的速度工作。与
rsync
相比,hashdeep可以检测到移动的文件-具有相同内容的文件,位于不同的目录中。 详细的输出类似于:
...
foo/bar.txt: Known file not used
x/foo/M0824_2L.JPG: Moved from y/P1010998.JPG
hashdeep: Audit failed
Input files examined: 0
Known files expecting: 0
Files matched: 6233
Files partially matched: 0
Files moved: 3695
New files found: 19257
Known files not found: 4713
#11 楼
Unison是一种快速的文件同步工具,它使用rsync算法,可让您在更新两个位置(无论是远程位置还是本地位置)之前预览差异。#12 楼
进行比较的一种好方法是使用“ find”和“ md5sum”,然后使用“ diff”。示例:
使用find列出其中的所有文件目录然后为每个文件计算md5哈希并将其通过管道传输到文件:
$find /dir1/ -type f -exec md5sum {} \; > dir1.txt
对另一个目录执行相同的过程:
$find /dir2/ -type f -exec md5sum {} \; > dir2.txt
然后将结果两个文件与“ diff”进行比较:
$diff dir1.txt dir2.txt
当要比较两个目录时,此策略非常有用不在同一台机器上,您需要确保两个目录中的文件都相等。 />
最好的问候!
#13 楼
也尝试FreeFileSync。它具有良好的界面,可接受的比较速度,对比较结果的良好过滤,不同的同步方式。它带有一个文件夹监视工具(RealTimeSync),当特定的一个或多个文件夹或其中的文件发生更改时,该工具可以启动FreeFileSync(实际上是任何命令或脚本)。真的很值得一试。这里或这里有PPA的更多信息,也是如此。
在他们的页面上,主要功能是:
比较文件(按字节或按日期)并进行同步。
没有限制:可以同步任意数量的文件。
Unicode支持。
网络支持。
内置支持超长文件名(超过MAX_PATH = 260个字符)。
同步数据库,用于传播已删除的文件和冲突检测
支持具有不同配置的多个文件夹对
全面支持Windows / Linux符号链接和Windows连接点。
精益和易于访问的UI:针对速度和大量数据进行了高度优化。
完全用C ++编码的算法。
所有进度指示器均经过优化,以实现最佳性能!
/>创建批处理作业以自动同步wi无论是否具有GUI。
关注可用性:
UI上仅必要的功能:没有重载的菜单或图标丛林。
通过拖放选择所有文件夹。
自动保存上次使用的配置和屏幕设置。
通过拖放来维护和加载不同的配置。拖放,加载按钮或命令行。
双击以启动外部应用程序(例如,在Windows资源管理器中显示文件)
将所有网格数据复制并粘贴为文本
直接在主网格上删除多余的/临时文件。
右键单击上下文菜单。
全面的状态信息和错误报告
对文件列表进行排序按名称,大小或日期。
支持大于4 GB的文件大小。
将文件移动到回收站的选项而不是删除/覆盖它们。
使用默认筛选器忽略目录“ \ RECYCLER”和“ \ System Volume Information”。 (仅Windows)
本地化版本可用于多种语言。
复制前删除:避免大型同步作业的磁盘空间不足。
筛选功能可从同步中包括/排除文件(无需重新比较!)。
临时从同步中包括/排除特定文件。
自动处理夏时制更改在FAT / FAT32卷上。
提供便携式版本(可通过安装程序选择)。
本机64位版本。
从内部检查更新。 FreeFileSync自动。
使用Windows卷影复制服务复制锁定的文件。 (仅Windows)
在目录名称中使用宏%time%,%date%创建常规备份
同步时复制文件和文件夹的创建/访问/修改时间
先进的锁定策略,允许多个同步过程(例如,多个编写者,相同的网络共享)
我想添加它可以管理已删除的文件,将它们移至“已删除邮件”或“用户指定的文件夹。指出一个缺点:程序文档将重点放在Windows上,而在Linux上则较少。但它做得很好。
#14 楼
您可以使用diffuse(仅用于文件,不适用于目录):sudo apt-get install diffuse
diffuse file1 file2
评论
我经常使用Diffuse的一项杀手级功能-手动设置合并锚点的功能。它还没有做目录(但是),但是对于单个和混乱的差异,anchors功能很棒。
–sk606
2013年12月10日在1:42
#15 楼
您可以尝试融合。这是存储库,并提供用于文件或文件夹比较的GUI。
评论
Meld是Bdiff的GUI。
– Marco Ceppi♦
2011年10月4日在17:46
#16 楼
如果您只是进行比较,那么Eclipse IDE会显得有些笨重,但是它确实做得很好。您可以选择2个项目,路径或文件,并将它们相互比较,还可以与源代码控制服务器同步。#17 楼
恕我直言,FreeFileSync非常好,比Meld更有用。它快速且稳定,可以进行可定制的同步,还可以将比较结果导出到csv文件中。Lanchpad链接
#18 楼
跨平台,轻松,无忧且无需保存个人资料的功能使Jfilesync成为我的首选#19 楼
比较文件File_1.txt
Line1
Line2
File_2.txt
Line1
Line 2
您可以使用命令
cmp
:cmp -b "File_1.txt" "File_2.txt"
输出将是
a b differ: byte 11, line 2 is 62 2 40
比较目录(您的需求):
您可以使用diff命令:
diff -r --brief dir1 dir2
man diff
-r, --recursive
recursively compare any subdirectories found
-q, --brief
report only when files differ
评论
您只需要文件列表还是每个文件的实际内容?我想要文件列表,并且如果可能的话,希望具有相同路径的文件之间的内容不同。
如果GUI工具允许隐藏相同的文件夹和文件,将非常方便。这将使集中精力放在奇数文件夹和文件上变得容易得多。有谁知道支持此功能的工具?
看看统一。 “超越比较”采用“一站式服务”,而“统一”则着重于处理树遍历,保持状态和传播更改,并通过将diff,3向合并等内容委派给您,从而覆盖“超越比较”功能。在文件级别工作的收藏程序。 Unison是免费的,非常强大且成熟的软件,可以通过不同操作系统之间的网络等快速检测和同步大树。首先阅读文档,尤其是在Windows上。
emacs有一个目录比较工具。像所有emacs一样,好吃的东西是“好吃的东西甚至意味着什么?”,但是它显示了按键的上下文帮助,允许通过几次击键进行递归分析,隐藏相同的文件甚至子目录,以交互方式选择文件以显示颜色各种选项的编码差异,以交互式方式合并,传播或对文件进行任意编辑,并使用所有常用的编辑功能轻松地转到下一个文件或目录,跟踪状态。