0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

9种Linux下常用的9种代码比对工具

Linux爱好者 来源:良许Linux 2020-08-14 16:55 次阅读

在我们编写代码的时候,我们经常需要知道两个文件之间,或者同一个文件不同版本之间有什么差异性。在 Windows 下有个很强大的工具叫作 BeyondCompare ,那在 Linux 下需要用到什么工具呢?

本文介绍 9 种 Linux 下常用的 9 种代码比对工具,不仅有命令行工具,还有 GUI 界面工具,让你轻松进行代码比对。

1diff命令

diff命令是 Linux 下自带的一个强大的文本比对工具,而且使用起来非常方便。对于它的使用,我之前也单独写过一篇文章介绍,点击下方链接可以查看。

diff 命令在大多数的 Linux 发行版里已经预装了,它可以逐行比对两个文本文件,并输出它们的差异点。更多介绍可以直接查看它的 man 手册。

$ man diff

但是,diff 命令虽然强大,但它的输出结果实在是太感人了,不直观也不清晰。于是,有大佬为了弥补这个缺点,基于 diff 开发了更强大的工具。这里推荐两个:colordiff和wdiff。

colordiff命令

colordiff是一个 Perl 脚本工具,它的输出结果和 diff 命令一样,但是会给代码着色,并且具有语法高亮功能。同时,你如果不喜欢它的默认颜色的话,还可以自定义主题。

你可以自行安装 colordiff 到你的电脑,根据不同的发行版选择不同的安装命令。

$ yum install colordiff [On CentOS/RHEL/Fedora] $ dnf install colordiff [On Fedora 23+ version] $ sudo apt-get install colordiff [On Debian/Ubuntu/Mint]

同样,你可以使用 man 命令查看它的帮助文档:

$ man colordiff

wdiff命令

diff 命令是逐行比较差异,而wdiff更变态,是逐字比较。所以如果你的文本只是修改了少数一些词语的话,使用 wdiff 命令将更加高效。

安装命令如下:

$ yum install wdiff [On CentOS/RHEL/Fedora] $ dnf install wdiff [On Fedora 23+ version] $ sudo apt-get install wdiff [On Debian/Ubuntu/Mint]

更详细内容可以查看它的 man 手册。

$ man wdiff2vimdiff命令

vimdiff等同于vim -d命令,即 Vim 编辑器的 diff 模式。

该命令后面通常会接两个或多个文件名作为参数,这些文件会同时在 Vim 编辑器的分割窗口中打开,并高亮显示文件中内容有差异的部分。

它的中文主页是:http://vimcdoc.sourceforge.net/doc/diff.html

以上介绍的两款是 Linux 命令行的对比工具,我们再来看一些 GUI 比对工具。

3Kompare

Kompare是基于 diff 的一个 GUI 工具,使用者可以很方便看到文件之间的差异,并且支持合并这些差异。

Kompare 的特性有如下:

支持多种 diff 格式;

支持目录之间的比对;

支持读取 diff 文件;

自定义界面;

创建及应用源文件的 patch 文件。

该工具的主页为:https://www.kde.org/applications/development/kompare/

4DiffMerge

DiffMerge是一个跨平台的 GUI 文本比对工具,具有 Linux ,Windows ,macOS 三大平台版本。我们知道,BeyondCompare 是一款收费软件,所以如果你们公司的版权要求比较高的话,不妨考虑一下 DiffMerge工具。

DiffMerge 具有两大功能:1. 图示化显示两个文件之间的改变。包含内部行高亮和完整的编辑支持。2. 图示化显示三个文件之间的改变。允许自动合并(当可以安全操作时)和对结果文件完全编辑控制。

它具有以下特性:

支持文件夹比对;

集成文件浏览器;

高度可配置。

该工具的主页为:https://sourcegear.com/diffmerge/

5 Meld

Meld是一个轻量级 GUI 代码比对工具,它支持用户比对文件、目录,并且高度集成版本控制软件。但针对软件开发人员,它的以下几个特性尤为吸引人:

执行双向和三向差异并合并

轻松地在差异和冲突之间导航

逐个文件地比较两个或三个目录,显示新文件,缺失文件和更改文件

支持许多版本控制系统,包括 Git,Mercurial,Bazaar 和 SVN 等。

它的官网为:http://meldmerge.org/

6 Diffuse

Diffuse是另外一款很受欢迎的,免费,小巧,也十分简单的 GUI 文本差异比对合并工具,它是用 Python 写成的,具有两个主要功能:文件比对及版本控制,允许文件编辑、合并,并且输出两个文件的差异点。

你可以使用它查看文本比对小结,使用鼠标选择文件里的某行进行编辑。它的其它特性包括:

语法高亮

快捷键便于文本导航

无限次撤销

支持 unicode 编码文件

支持许多版本控制系统,包括 Git,Mercurial,Bazaar 和 SVN 等。

它的官网为:http://diffuse.sourceforge.net/

7 XXdiff

XXdiff是一款免费、强大的文件及文件夹差异比对及合并工具,它可以运行在很多类 Unix 系统上。不过它有个限制就是它不支持 unicode 文件,也没法办法直接编辑文件。

它具有以下特性:

递归对比文件及文件夹

高亮显示差异点

合并差异点,导出结果

支持外部 diff 工具,比如:GNU diff,SIG diff ,Cleareddiff ,以及其它更多工具

支持脚本拓展

8 KDiff3

KDiff3是另外一种很强大的跨平台差异比对及合并工具,它是由KDevelop开发而成,可以在所有类 Unix 平台上运行,包括 Linux ,Mac OS ,Windows 等。

它可以比对或合并两到三个文件或目录,具有以下特性:

可以逐句、逐字对比差异

支持自动合并

内置编辑器,可以手动解决冲突

支持 unicode ,UTF-8 等各种编码格式

支持打印差异

它的官网为:http://kdiff3.sourceforge.net/

9 TkDiff

TkDiff是另外一种跨平台,易于使用的 GUI 文本比对工具,可以运行在 Linux ,Windows 及 MacOS 系统上。它同样提供一个左右分开的界面,用于查看对比的两个文件。

但是,它也有一些其它文本对比工具没有的功能,比如差异书签,以及一个便于快速定位导航差异点的导航图。

它的官网为:https://sourceforge.net/projects/tkdiff/

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Linux
    +关注

    关注

    87

    文章

    11217

    浏览量

    208827
  • 代码
    +关注

    关注

    30

    文章

    4737

    浏览量

    68305
  • GUI
    GUI
    +关注

    关注

    3

    文章

    643

    浏览量

    39517

原文标题:Linux 下 9 种优秀的代码比对工具推荐

文章出处:【微信号:LinuxHub,微信公众号:Linux爱好者】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    Kali Linux常用工具介绍

    Kali Linux 虚拟机中自带了大量渗透测试工具,涵盖了信息收集、漏洞利用、口令破解、漏洞扫描等多个方面。 以下是按分类简要介绍一部分常用工具的使用方法: 使用方法只能当做参考,**详细
    的头像 发表于 11-11 09:29 269次阅读

    芯片开发必备工具|好用的文件比对工具有哪些?

    在芯片开发工程中,通常为了知道工程目录下发生了哪些改动,或者两份源码文件之间有什么不同,会需要用到文件和文件夹的比对工具。使用工具比肉眼观察更便捷,也更精确!本文将介绍自己最常用的几款
    的头像 发表于 11-01 08:11 203次阅读
    芯片开发必备<b class='flag-5'>工具</b>|好用的文件<b class='flag-5'>比对</b><b class='flag-5'>工具</b>有哪些?

    芯片开发必备工具——好用的文件比对工具有哪些?

    芯片开发必备工具——好用的文件比对工具有哪些?
    的头像 发表于 11-01 08:11 176次阅读
    芯片开发必备<b class='flag-5'>工具</b>——好用的文件<b class='flag-5'>比对</b><b class='flag-5'>工具</b>有哪些?

    常用嵌入式开发代码

    使用开源协议:GPL-2.0varch简介varch(we-architecture,意为我们的框架库)是嵌入式C语言常用代码模块库,包含了嵌入式中常用的算法库,数据结构(容器)库,解析器库,独立C
    的头像 发表于 09-04 08:06 370次阅读
    一<b class='flag-5'>种</b><b class='flag-5'>常用</b>嵌入式开发<b class='flag-5'>代码</b>库

    Soundcheck 自动比对程序 标准品比对

    Soundcheck 是声学测试中比较标准化的软件,有很强的二次开发性,A产品体系指定的声学测试软件,涉及到测试的部分就离不开定期的标准品点检,而声学曲线的比对比常规的电测、光学量测等的标准品比对
    发表于 06-27 22:09

    嵌入式Linux开发的三方式

    嵌入式Linux开发主要有三方式:裸机开发、SDK开发和驱动开发。
    的头像 发表于 01-22 14:22 918次阅读

    Linux常见的十几款CPU监控工具

    今天浩道跟大家分享运维工作中,Linux常见的十几款CPU监控工具,你可能只会用到其中某些,但是个人觉得作为一个资深运维,你要知道有这些工具可以监控CPU。
    的头像 发表于 01-22 09:19 2403次阅读
    <b class='flag-5'>Linux</b><b class='flag-5'>下</b>常见的十几款CPU监控<b class='flag-5'>工具</b>

    代码审计怎么做?有哪些常用工具

    代码审计是一通过检查源代码来发现潜在的安全漏洞的方法。 下面是常用的源代码审计工具: 1、F
    发表于 01-17 09:35

    Spring中经典的9设计模式

    spring中常用的设计模式达到九,我们一一举例
    的头像 发表于 12-11 09:56 931次阅读
    Spring中经典的<b class='flag-5'>9</b><b class='flag-5'>种</b>设计模式

    linux网络配置的3方法

    Linux是一流行的操作系统,广泛应用于服务器和网络设备中。Linux系统提供了多种方法来配置网络连接,使得网络设置更加灵活和可定制。本文将会介绍Linux网络配置的三
    的头像 发表于 11-27 14:33 4239次阅读

    如何利用Linux工具来自动生成实用的状态机框架?

    (Finite State Machine),是一应用非常广泛的软件设计模式(Design Pattern)。本文介绍如何构建基于状态机的软件系统,以及如何利用Linux
    的头像 发表于 11-25 14:15 1291次阅读
    如何利用<b class='flag-5'>Linux</b><b class='flag-5'>下</b>的<b class='flag-5'>工具</b>来自动生成实用的状态机框架?

    常用的8电机介绍

    大家好,这两天来给大家介绍一常用的8电机。今天的内容属于《电机与拖动》里面的一些基础概念,如果想深入学习的话可以查阅这一本书。
    的头像 发表于 11-23 18:25 1.2w次阅读
    <b class='flag-5'>常用</b>的8<b class='flag-5'>种</b>电机介绍

    linux备份还原工具有哪些?

    Linux备份还原工具是用于在Linux系统上进行数据备份和还原操作的软件或工具。它们提供了一简单、有效和可靠的方式来保护数据免受丢失、损
    的头像 发表于 11-23 10:06 1448次阅读

    linux系统备份与还原工具

    Linux系统备份与还原工具是用于备份和恢复Linux操作系统的工具。在日常使用中,备份和还原是非常重要的操作,可以帮助我们保护数据并快速恢复系统。本文将介绍一些
    的头像 发表于 11-23 10:04 2534次阅读

    linux镜像制作工具

    自定义的虚拟机镜像。下面将介绍几种常用Linux镜像制作工具,并详细解释它们的特点和使用方法。 一、Debian Live-build Debian Live-build是Debian发行版提供的一
    的头像 发表于 11-23 09:56 2038次阅读