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

    文章

    10981

    浏览量

    206676
  • 代码
    +关注

    关注

    30

    文章

    4553

    浏览量

    66665
  • GUI
    GUI
    +关注

    关注

    3

    文章

    606

    浏览量

    38771

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

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

收藏 人收藏

    评论

    相关推荐

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

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

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

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

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

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

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

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

    linux备份还原工具有哪些?

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

    linux系统备份与还原工具

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

    linux镜像制作工具

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

    linux虚拟机怎么运行代码

    到虚拟机中,你就可以开始运行代码了。在Linux中,有多种方式可以运行代码,下面将介绍几种常见的方法。 使用终端(Terminal)运行代码: 终端是
    的头像 发表于 11-17 10:12 2072次阅读

    【书籍评测活动NO.24】快速自学Linux常用命令,选这本工具书就对了!

    评测,如在5个工作日内未联系,视为放弃本次试用评测资格! 快速自学Linux常用命令,选这本工具书就对了! 适用于RedHat、CentOS、Ubuntu等主流的Linux发行版
    发表于 11-03 14:19

    常用的开发工具分享

    的编辑器;5、Gedit:Linux 的一个纯文本编辑器;6、UltraEdit:常用编辑器7、TextPad:8、EditPlus:个人喜欢的文本编辑器9、WPS:word,exc
    发表于 09-25 08:20

    常用串口接口电路图设计

    常用串口接口电路图设计。如果你是Win95/98/Me操作系统的话那第1和第2两是最合适的,制作简单。如果是Win2000/XP操作系统的话第3最合适,当然如果你的电脑只有25
    发表于 09-22 06:26

    linux工具链在哪里下载?

    linux工具链在哪里下载??我看网上的介绍文章说有ubuntu的,另外k-flash在哪里下载?
    发表于 09-15 06:23

    Linux代码

    电子发烧友网站提供《Linux代码集.zip》资料免费下载
    发表于 07-28 15:01 0次下载
    <b class='flag-5'>Linux</b>的<b class='flag-5'>代码</b>集

    Linux内核代码常用的数据结构有哪些?

    Linux内核代码中广泛使用了数据结构和算法,其中最常用的两个是链表和红黑树。
    发表于 07-20 09:39 319次阅读

    Linux常用远程连接工具

    前言 大家好,这里是 浩道Linux ,主要给大家分享Linux、Python、 网络通信、网络安全等 相关的IT知识平台。 今天浩道跟大家分享几款Linux 常用远程连接
    的头像 发表于 06-30 10:31 1117次阅读
    <b class='flag-5'>Linux</b><b class='flag-5'>常用</b>远程连接<b class='flag-5'>工具</b>