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

    文章

    11297

    浏览量

    209370
  • 代码
    +关注

    关注

    30

    文章

    4781

    浏览量

    68542
  • GUI
    GUI
    +关注

    关注

    3

    文章

    659

    浏览量

    39659

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

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

收藏 人收藏

    评论

    相关推荐

    RZ T2H PCIe裸机程序开发和Linux的配置介绍

    瑞萨电子最新推出RZ/T2H工业专用MPU,单芯片提供强大应用处理性能,多协议工业网络及高达9轴高精度实时控制,支持Linux,RTOS及baremetal操作。除了强大CPU性能和9轴控制外设外
    的头像 发表于 12-18 11:14 468次阅读
    RZ T2H PCIe裸机程序开发和<b class='flag-5'>Linux</b><b class='flag-5'>下</b>的配置介绍

    PHP48_4P9X4P9,PHP48_4P9X4P9-L,PHP48_4P9X4P9-M,这三封装除了焊盘的长度不同还有什么区别呢?

    PHP48_4P9X4P9,PHP48_4P9X4P9-L,PHP48_4P9X4P9-M,这三封装的区别除了焊盘的长度不同还有什么区别呢,三
    发表于 11-28 06:34

    Kali Linux常用工具介绍

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

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

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

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

    芯片开发必备工具——好用的文件比对工具有哪些?
    的头像 发表于 11-01 08:11 254次阅读
    芯片开发必备<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 459次阅读
    一<b class='flag-5'>种</b><b class='flag-5'>常用</b>嵌入式开发<b class='flag-5'>代码</b>库

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

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

    芯海通用 MCU应用笔记 :在 IAR 及 MDK 开发环境使用 printf 函数重定向移植差异指南

    对 printf 函数支持的差异。并在本应用笔记结尾处给出可以一键移植到 Keil、IAR8.x、IAR9.x 版本的通用重定向代码。 Keil 和 IAR 都是常用的开发
    发表于 05-16 11:56

    谷歌Pixel 9系列手机曝光:尺寸与规格各异

    据知情人士透露,Google即将于近期推出Pixel 9系列新款智能手机。该系列包括Pixel 9、Pixel 9 Pro及Pixel 9 Pro XL三
    的头像 发表于 05-14 09:54 766次阅读

    使用STM32L4系列芯片时,调试工具JLink必须是V9或以上版本吗?

    大家好,我在使用JLink V8载并调试STM32L4R9ZI芯片的时候发现会有警告框。参考正点原子“潘多拉STM32L475开发板教程”,教程中建议使用调试工具JLink时候,必须是V9
    发表于 04-08 06:17

    Linux常用命令自学手册》工具书永远是常备的秘籍

    和帮助。非常适合作为一你要学习开发的Linux系统的基础工具书使用。 《Linux常用命令自学手册》是一本非常值得一读的书籍。它不仅为初学
    发表于 01-29 19:42

    嵌入式Linux开发的三方式

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

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

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

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

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

    Linux常用命令自学手册》+一本手边linux速查字典

    ,即使不能一时都记住,本书也可以作为办公桌边随时查阅的工具书。 我手头有一本也是《linux命令速查手册》,16K的很厚一本,和本书对比了一,有以下不同。 1、《Linux
    发表于 12-26 08:46