9款最佳的Linux文件比较工具
程序员和撰稿人在编写程序文件或平常的文本文件时,有时想知道两个文件或同一文件的两个版本之间的差异。你在Linux上比较两个计算机文件时,文件内容之间的差异就叫diff。这一描述来源于提到diff的输出,而diff是大名鼎鼎的Unix命令行文件的实用工具。

9款最佳Linux文件比较工具
你可以在Linux上使用几款文件比较工具,我们在本文中介绍了一些最优秀的基于终端和基于GUI的比较工具,你在编写代码或其他文本文件时可以充分利用它们。
1.diff命令
我喜欢先介绍这款最初的Unix命令行工具,它为你显示了两个计算机文件之间的差异。diff很简单,易于使用,它预先安装在大多数Linux发行版上。它逐行比较文件,并输出文件之间的差异。
你可以检查一下diff的参考手册项,以便易于使用。
- # man diff

比较文件的Linux diff命令
有一些面向diff工具的包装器,它们改善了其功能,这些包括:
colordiff命令
colordiff是一个Perl脚本,生成与diff一样的输出,不过标以颜色和语法高亮显示。它有可定制的配色方案。
你可以使用名为yum、dnf或apt-get的默认程序包管理器,将Colordiff安装到Linux系统上,如图所示。
- # yum install colordiff [On CentOS/RHEL/Fedora]
- # dnf install colordiff [On Fedora 23+ version]
- $ sudo apt-get install colordiff [On Debian/Ubuntu/Mint]
你可以检查一下Colordiff的手动输入,如图所示。
- # man colordiff

Linux Colordiff命令-颜色比较输出
wdiff命令
wdiff实用工具是diff命令的一个前端,用来逐个单词地比较文件。比较两个文本,查找变化的单词、查找哪些段落已重填时,该程序很有用。
想把wdiff安装到Linux系统上,运行:
- # yum install wdiff [On CentOS/RHEL/Fedora]
- # dnf install wdiff [On Fedora 23+ version]
- $ sudo apt-get install wdiff [On Debian/Ubuntu/Mint]
使用wdiff参考手册,了解如何在Linux上使用。
- # man wdiff
wdiff比较Linux中的两个文件。
2.Vimdiff命令
相比diff实用工具,Vimdiff采用了一种高级的工作方式。它让用户在显示文件差异时,最多可以编辑一个文件的四个版本。你在运行Vimdiff时,它会使用vim文件编辑器,打开两到四个文件。

Vimdiff编辑多个文件,查找差异。
访问主页:http://vimdoc.sourceforge.net/htmldoc/diff.html
了解了老式的比较工具后,不妨看一下Linux上的一些GUI比较工具。
3.Kompare
Kompare是一种比较GUI包装器,让用户可以查看文件之间的差异,并且合并文件。
它的一些功能包括如下:
- 支持多种diff格式
- 支持目录比较
- 支持读取diff文件
- 可定制界面
- 创建补丁,并将补丁打到源文件上

Kompare工具:比较Linux中的两个文件
访问主页:https://www.kde.org/applications/development/kompare/
4.DiffMerge
DiffMerge是一种跨平台的GUI应用程序,可用于比较和合并文件。它有两个功能引擎:Diff引擎显示了两个文件之间的差异,支持行内高亮显示和编辑,Merge引擎则输出三个文件之间已变化的行。
它有下列功能:
- 支持目录比较
- 集成了文件浏览器
- 可高度配置

DiffMerge:比较Linux中的文件
访问主页:https://sourcegear.com/diffmerge/
5.Meld——比较工具
Meld是一款轻量级GUI比较和合并工具。它让用户能够比较文件、目录以及实行版本控制的程序。它是专门为开发人员构建的,具有下列功能:
- 两路、三路比较文件和目录
- 用户输入更多的单词时,更新文件比较
- 使用自动合并模式和对已变化的块执行操作,让合并更容易
- 使用可视化,易于比较
- 支持Git、Mercurial、Subversion、Bazaar以及更多

Meld:比较Linux中文件的一款diff工具
6.Diffuse——GUI比较工具
Diffuse是另一款流行、免费、小巧而简单的GUI比较和合并工具,你可以在Linux上使用。它用Python编写,提供了两大功能:文件压缩和版本控制,以便编辑文件、合并文件以及输出文件之间的差异。
你可以查看比较摘要、使用鼠标指针选择文件中的几行文本,匹配邻近文件中的行,以及编辑不同文件。其他功能包括如下:
- 语法高亮显示
- 键盘快捷键,便于导航
- 支持无限制的撤销
- 支持统一码
- 支持Git、CVS、Darcs、Mercurial、RCS、Subversion、SVK和Monotone

DiffUse:一款比较Linux中文本文件的工具
访问主页:http://diffuse.sourceforge.net/
7.XXdiff——比较和合并工具
XXdiff是一款免费、强大的文件和目录比较及合并工具,可以在类似Unix的操作系统上运行,比如Linux、Solaris、HP/UX、IRIX和DEC Tru64。XXdiff的一大局限就是不支持统一码文件,也不支持行内编辑diff文件。
它有下列功能:
- 浅层和递归比较两三个文件或两个目录
- 横向差异高亮显示
- 交互式合并文件,并保存因而得到的输出
- 支持合并审查/巡视
- 支持外部的比较工具,比如GNU diff、SIG diff、Cleareddiff及更多
- 可使用脚本来进行扩展
- 可使用资源文件实现全面定制,还有其他许多次要功能

Xxdiff工具
8.KDiff3 ——比较和合并工具
KDiff3是另一款很酷的跨平台比较和合并工具,是用KDevelop开发而成的。它可以在所有类似Unix的平台上运行,包括Linux、Mac OS X和Windows。
它可以比较或合并两三个文件或目录,具有下列主要的功能:
- 逐行和逐个字符地表明差异
- 支持自动合并
- 内置编辑器,以处理合并冲突
- 支持统一码、UTF-8及另外许多编解码器
- 允许打印输出差异
- 支持与Windows资源管理器集成
- 还通过字节顺序标记(BOM),支持自动检测
- 支持手动对齐行
- 交互式GUI及其他许多功能

面向Linux的KDiff3工具
访问主页:http://kdiff3.sourceforge.net/
9.TkDiff
TkDiff也是一款跨平台、易于使用的GUI包装器,面向Unix diff工具。它提供了并排查看两个输入文件之间差异的功能。它可以在Linux、Windows和Mac OS X上运行。
另外,它有一些激动人心的功能,包括diff书签、图形化差异图,以便易于快速导航,以及其他功能。
访问主页:https://sourceforge.net/projects/tkdiff/
9款最佳的Linux文件比较工具的更多相关文章
- window与linux文件传输工具
window与linux文件传输工具 [一般用于SecureCRT ssh中使用] 法一:直接用yum安装lrzsz(推荐) yum install lrzsz -y 注意:rhel安装完系统后 直接 ...
- Linux文件编辑工具——VIM
Linux文件编辑工具--VIM 1.VIM基本概述 1.1 什么是vim vi 和 vim 是 Linux 下的一个文本编辑工具.(可以理解为 windows 的记事本,或 Notepad++ 1. ...
- Linux文件系统测试工具
一.文件系统测试工具简介 1.LTP 参考网站:http://oss.sgi.com/projects/ltp/ LTP(Linux Test Project)是由SGI和IBM联合发起的项目,提供一 ...
- Linux文件查找工具之find “大宝剑”--转载
原文地址:http://xinzong.blog.51cto.com/10018904/1749465 一.文件查找工具常用软件 locate: locate命令其实是find -name的另一种写法 ...
- Linux文件排序工具 sort 命令详解
sort是排序工具,它完美贯彻了Unix哲学:"只做一件事,并做到完美".它的排序功能极强.极完整,只要文件中的数据足够规则,它几乎可以排出所有想要的排序结果,是一个非常优质的工具 ...
- Linux文件归档工具——tar
Linux打包压缩命令——tar 一tar工具的介绍 Tar(Tape ARchive,磁带归档的缩写) NAME tar - manual page for tar 1.26 SYNOPSIS ta ...
- 两款不错的Linux密码生成工具
先介绍最简单的方法,Linux自带的 $ strings /dev/urandom | | ; echo whucNWhr35W6ZP0MxrLQ $ /dev/random | base64 | t ...
- Linux文件同步工具之rsync
学习背景 1.最近公司的项目在使用jenkins做自动化构建,因为jenkins在构建时是比较耗性能的,便单独使用了一台服务器做构建服务器.但是个人觉得这样成本过高,单独拿一台服务器来构建并且该服务器 ...
- Linux文件归档工具——cpio
一cpio的介绍 功能:复制文件从或到归档 cpio命令是通过重定向的方式将文件进行打包备份,还原恢复的工具,它可以解压以“.cpio”或者“.tar”结尾的文件. cpio [选项] > 文件 ...
随机推荐
- loj2230 「BJOI2014」大融合
LCT裸题 我LCT学傻了这题明显可以树剖我不会树剖了 本来的siz是Splay上的子树和,并没有什么用. 所以每个点维护虚子树和和子树和 虚子树和即虚边连接的子树和,且只有在access和link操 ...
- TCP Over HTTP 的Buffer问题
记录下备忘. 场景:要把TCP拆成一个个HTTP请求,通过Proxy 1.HTTP Client上载数据到CCProxy ,然后再到Web服务器的时候. 如果数据量比较小,例如10个字节,Proxy就 ...
- Unity Shader 学习之旅
Unity Shader 学习之旅 unityshader图形图像 纸上学来终觉浅,绝知此事要躬行 美丽的梦和美丽的诗一样 都是可遇而不可求的——席慕蓉 一.渲染流水线 示例图 Tips:什么是 GP ...
- 使用proxyee-down解决百度云下载限速问题
1.在下面页面安装HTTP下载器 https://github.com/proxyee-down-org/proxyee-down#%E4%B8%8B%E8%BD%BD 2.安装switchy插件 h ...
- Flash导出安卓端apk
最近外甥女在学校做了一个演示视频,基于flash做的,希望小舅给她导出成可以运行在pc/android端的可执行程序.看了下过程还是蛮复杂的,还只能一天时间.重新照葫芦画瓢做一款是来不及了,由于以前基 ...
- Netty源码分析第5章(ByteBuf)---->第6节: 命中缓存的分配
Netty源码分析第6章: ByteBuf 第六节: 命中缓存的分配 上一小节简单分析了directArena内存分配大概流程, 知道其先命中缓存, 如果命中不到, 则区分配一款连续内存, 这一小节带 ...
- Vmware vSphere 开启嵌套虚拟化
一.vSphere 6开启嵌套虚拟化 已通过vSphere Client创建一个名字为Centos 7的虚拟机,现在需要打开该虚拟机的嵌套虚拟化功能. 1.在Esxi 服务器上面开启ssh服务,并关闭 ...
- Visual Studio Code搭建NodeJs的开发环境
一.Visual Studio Code搭建NodeJs的开发环境 1.下载安装NodeJs并配置环境变量 可以参考:NodeJs的安装和环境变量配置 2.下载安装 VS Code编辑器 可以参考:V ...
- 最新的CocoaPods 安装及使用
当在开发iOS应用时,会经常使用到很多的第三方开源类库,一般的方法是直接从GitHub下载,然后拖到项目中使用,如果该开源类库不依赖其他的类库,就可以直接使用:如果该开源类库还依赖一些其他的类库,则需 ...
- D.王者荣耀交流协会——PSP Daily(测评人:贾男男)
D.王者荣耀交流协会——PSP Daily(测评人:贾男男) 一.基于NABCD评论作品,及改进建议 每个小组评论其他小组beta发布的作品.1.根据(不限于)NABCD评论作品的选题;2.评论作品对 ...