文件比较工具用于比较计算机上的文件的内容,找到他们之间相同与不同之处。比较的结果通常被称为diff。

diff同时也是一个基于控制台的、能输出两个文件之间不同之处的著名的文件比较程序的名字。diff是于二十世纪70年代早期,在Unix操作系统上被开发出来的。diff将会把两个文件之间不同之处的部分进行输出。

Linux拥有很多不错的GUI工具,能使你能清楚的看到两个文件或同一文件不同版本之间的不同之处。这次我从自己最喜欢的GUI比较工具中选出了五个推荐给大家。除了其中的一个,其他的都是开源的。

这些应用程序可以让你更清楚的看到文件或目录的差别,能合并有差异的文件,可以解决冲突并将其输出成一个新的文件或补丁,其也用于那些预览和备注文件改动的产品上(比如,在源代码合并到源文件树之前,要先接受源代码的改变)。因此它们是非常重要的软件开发工具。它们可以帮助开发人员们对文件进行处理,不停的把文件转来转去。这些比较工具不仅仅能用于显示源代码文件中的不同之处;他们还适用于很多种的文本文件。可视化的特性使文件比较变得容易、简单。


Meld

Meld是一个适用于Gnome桌面的、开源的、图形化的文件差异查看和合并的应用程序。它支持2到3个文件的同时比较、递归式的目录比较、处于版本控制(Bazaar, Codeville, CVS, Darcs, Fossil SCM, Git, Mercurial, Monotone, Subversion)之下的目录比较。还能够手动或自动合并文件差异。

Meld的重点在于帮助开发人员比较和合并多个源文件,并在他们最喜欢的版本控制系统下能直观的浏览改动过的地方。

功能包括

可直接比较两个文件夹

  • 原地编辑文件,即时更新
  • 进行两到三个文件的比较及合并
  • 在显示的差异和冲突之间的导航
  • 使用插入、改变和冲突这几种标记可视化展示本地和全局的差异
  • 内置正则表达式文本过滤器,可以忽略不重要的差异
  • 语法高亮度显示(使用可选的gtksourceview)
  • 将两到三个目录中的文件逐个进行比较,显示新建,缺失和替换过的文件
  • 对任何有冲突或差异的文件直接打开比较界面
  • 可以过滤文件或目录以避免以忽略某些差异
  • 被改动区域的自动合并模式使合并更容易
  • 也有一个简单的文件管理
  • 支持多种版本控制系统,包括Git, Mercurial, Bazaar 和 SVN
  • 在提交前开启文件比较来检查改动的地方和内容
  • 查看文件版本状态
  • 还能进行简单的版本控制操作(例如,提交、更新、添加、移动或删除文件)
  • 继承自同一文件的两个文件进行自动合并
  • 标注并在中间的窗格显示所有有冲突的变更的基础版本
  • 显示并合并同一文件的无关的独立修改
  • 锁定只读性质的基础文件以避免出错
  • 可以整合到已有的命令行界面中,包括gitmergetool
  • 国际化支持
  • 可视化使文件比较更简单

  • 网址: meldmerge.org

  • 开发人员: Kai Willadsen

  • 证书: GNU GPL v2

  • 版本号: 1.8.5


DiffMerge

DiffMerge是一个可以在Linux、Windows和OS X上运行的,可以可视化文件的比较和合并的应用软件。

功能包括:

  • 图形化显示两个文件之间的差别。包括插入行,高亮标注以及对编辑的全面支持
  • 图形化显示三个文件之间的差别。(安全的前提下)允许自动合并,并对最终文件可以随意编辑
  • 并排显示两个文件夹的比较,显示哪一个文件只存在于其中一个文件夹而不存在于另外的一个文件夹,还能一对一的将完全相同的、等价的或不同的文件配对
  • 规则设置和选项让你可以个性化它的外观和行为
  • 基于Unicode,可以导入多种编码的字符
  • 跨平台工具

  • 网址: sourcegear.com/diffmerge

  • 开发人员: SourceGear LLC

  • 证书: Licensed for use free of charge (not open source)

  • 版本号: 4.2


xxdiff

xxdiff是个开源的图形化的可进行文件、目录比较及合并的工具。

xxdiff可以用于显示两到三个文件或两个目录的差别,还能产生一个合并后的版本。被比较的两到三个文件会并排显示,并将有区别的文字内容用不同颜色高亮显示以便于识别。

这个程序是个非常重要的软件开发工具。他可以图形化的显示两个文件或目录之间的差别,合并有差异的文件,其也用于那些预览和备注文件改动的产品上(比如,在源代码合并到源文件树之前,要先接受源代码的改变)

功能包括:

  • 比较两到三个文件,或是两个目录(浅层或递归)
  • 横向高亮显示差异
  • 交互式的文件合并,可视化的输出和保存
  • 可以辅助合并的评论/监管
  • 自动合并文件中时不合并 CVS 冲突,并以两个文件显示以便于解决冲突
  • 可以用其它的比较程序计算差异:适用于GNU diff、SGI diff和ClearCase的cleardiff,以及所有与这些程序输出相似的文件比较程序。
  • 可以使用资源文件实现完全的个性化设置
  • 用起来感觉和Rudy Wortel或SGI的xdiff差不多,与桌面系统无关
  • 功能和输出可以和脚本轻松集成

  • 网址: furius.ca/xxdiff

  • 开发人员: Martin Blais

  • 证书: GNU GPL

  • 版本号: 4.0


Diffuse

Diffuse是个开源的图形化工具,可用于合并和比较文本文件。Diffuse能够比较任意数量的文件,并排显示,并提供手动行匹配调整,能直接编辑文件。Diffuse还能从bazaar、CVS、darcs, git, mercurial, monotone, Subversion和GNU RCS 库中获取版本用于比较及合并。

功能包括:

  • 比较任意数量的文件,并排显示(多方合并)
  • 行匹配可以被用户人工矫正
  • 直接编辑文件
  • 语法高亮
  • 支持Bazaar, CVS, Darcs, Git, Mercurial, Monotone, RCS, Subversion和SVK
  • 支持Unicode
  • 可无限撤销
  • 易用的键盘导航

  • 网址: [diffuse.sourceforge.net][]

  • 开发人员: Derrick Moser

  • 证书: GNU GPL v2

  • 版本号: 0.4.7


Kompare

Kompare是个开源的GUI前端程序,可以对不同源文件之间差异的可视化和合并。Kompare可以比较文件或文件夹内容的差异。Kompare支持很多种diff格式,并提供各种选项来设置显示的信息级别。

不论你是个想比较源代码的开发人员,还是只想比较一下研究论文手稿与最终文档的差异,Kompare都是个有用的工具。

Kompare是KDE桌面环境的一部分。

功能包括:

  • 比较两个文本文件
  • 递归式比较目录
  • 显示diff产生的补丁
  • 将补丁合并到一个已存在的目录
  • 可以让你在编译时更轻松

  • 网址: www.caffeinated.me.uk/kompare/

  • 开发者: The Kompare Team

  • 证书: GNU GPL

  • 版本号: Part of KDE

Linux下文件轻松比对,自由开源的比较软件的更多相关文章

  1. Windows与Linux下文件操作监控的实现

    一.需求分析: 随着渲染业务的不断进行,数据传输渐渐成为影响业务时间最大的因素.究其原因就是因为数据传输耗费较长的时间.于是,依托于渲染业务的网盘开发逐渐成为迫切需要解决的需求.该网盘的实现和当前市场 ...

  2. linux 下文件误删恢复

    linux 下文件误删恢复 0x01 事件背景 某天晚上写代码的时候,本来想删除当前目录下一个叫xxx的文件夹 rm -rdf ./xxx/*, 结果光顾着和人说话,一不留神手贱把命令敲成了rm -r ...

  3. Linux下文件的三种时间戳

    Linux下文件的三种时间标记 三种时间对应关系表 column column column 访问时间 Access atime 修改时间 Modify mtime 状态改动时间 Change cti ...

  4. linux下文件结束符

    linux下文件结束符,我试过了所有的linux,发现其文件的结束符都是以0a即LF结束的,这个是操作系统规定的,windows下是\r\n符结束,希望可以帮助大家. -------------转:来 ...

  5. dos2unix,去掉Linux下文件中的^M

    Windows系统下使用VS2010编写好的CPP文件,想放到Linux上进行编译.发现Linux上文件中的每行代码末尾都跟着^M这个符号. 为什么同一份文件在windows上和Linux上显示的不一 ...

  6. linux下文件的复制、移动与删除

    linux下文件的复制.移动与删除命令为:cp,mv,rm 一.文件复制命令cp     命令格式:cp [-adfilprsu] 源文件(source) 目标文件(destination)      ...

  7. Linux下文件的权限

    一.Linux下查看文件属性 命令为: [root@localhost ~]# ls -al 结果: ls是『list』的意思,重点在显示文件的文件名与相关属性.而选项『-al』则表示列出所有的文件详 ...

  8. LINUX下文件编译

    body, table{font-family: 微软雅黑} table{border-collapse: collapse; border: solid gray; border-width: 2p ...

  9. Linux下文件的mtime/atime/ctime研究

    概述 在Linux下,对于某一个文件或文件夹时间的描述有三种:文件修改时间mtime,文件访问时间atime,文件状态改变时间ctime.在Linux下无法获取到文件的创建时间,因为根本就没有保存这个 ...

随机推荐

  1. linux lsof nmap netstat

    lsof -i :22    # 显示22端口当前运行的程序 lsof -c ssh  # 显示ssh进程打开的文件 lsof -p 2120  #显示进程id2120打开的文件   nmap -sP ...

  2. PHP 基础语法 常量 变量

    PHP基础语法 标记 当解析一个文件时,PHP 会寻找起始和结束标记,也就是 <?php 和 ?>,这告诉 PHP 开始和停止解析二者之间的代码.此种解析方式使得 PHP 可以被嵌入到各种 ...

  3. winform windowsmediaplayer的属性

    首先将C:\WINDOWS\system32下的wmp.dll应用到项目中: WMPLib.WindowsMediaPlayerClass player = new WMPLib.WindowsMed ...

  4. Linux中nat模式上不了网的问题怎么解决?

    我是这么解决的

  5. oracle学习笔记4:PL/SQL

    PL/SQL是没命名的存储过程,函数,触发器,PL/SQL块的语法格式如下: [declare] --声明部分,可选 begin --执行部分,必须 [exception] --异常处理部分,可选 e ...

  6. mysql的sql分页函数limit使用

    My sql数据库最简单,是利用mysql的LIMIT函数,LIMIT [offset,] rows从数据库表中M条记录开始检索N条记录的语句为: SELECT * FROM 表名称 LIMIT M, ...

  7. 数据库(学习整理)----7--Oracle多表查询,三种join连接

    聚合函数:(都会忽略null数据) 常用的有5种:将字段中所有的数据聚合在一条中 .sum(字段名) :求总和 .avg(字段名) :求平均值 .max(字段名) :求最大值 .min(字段名) :求 ...

  8. Qt中,当QDockWidget的父窗口是一个不可以拖动的QTabWidget的时候实现拖动的方法

    之前在做有关QDockWidget的内容时候遇到了瓶颈,那就是窗口弹出来之后拖动不了,也不可以放大和缩小,若是弹出来之后设置成了window的flags,也不可以拖动,而且也不是需要的效果. 1.弹出 ...

  9. P次方数 英雄会 csdn 高校俱乐部

    题目: 一个整数N,|N| >= 2, 如果存在整数x,使得N = x * x * x... (p个x相乘) =x^p,则称N是p次方数,给定32位内的整数N,求最大的P.例如N=5,输出1,N ...

  10. Bootstrap_排版_表格

    一.基础表格 <table class="table"> <thead> <tr> <th>表格标题</th> < ...