单击上面的" tldby ",然后选择“设为星形标记”
回复“666”,获得新整理的面试文章
编写代码时,经常需要知道两个文件之间或同一文件的不同版本之间有什么区别。 Windows下有一个名为BeyondCompare的强大工具,但在Linux下需要使用什么工具?
本文介绍了9种Linux常用的9种代码匹配工具。 除了命令行工具外,还有GUI接口工具,可以方便地进行代码匹配。
1
diff命令
diff命令是Linux上强大的文本匹配工具,非常易于使用。 关于其使用,以前也单独写了文章介绍,点击下面的链接就可以看到。
请告诉我如何在Linux上进行文本匹配
diff命令预安装在大多数Linux发行版中,可以逐行匹配两个文本文件并输出差异。 下面介绍更多可以直接看到它的man手册。
$ man diff虽然diff命令功能强大,但其输出结果实在感人、不直观、不清晰。 因此,为了弥补这一缺点,有一个大人物基于diff开发了更强大的工具。 这里推荐colordiff和wdiff两种。
colordiff命令colordiff是一个Perl脚本工具,输出与diff命令相同的结果,但代码会着色并具有语法高亮功能。 如果不喜欢默认颜色,也可以自定义主题。
您可以自己在电脑上安装colordiff,为每个版本选择不同的安装命令。
$ yuminstallcolordiff [ on centos/rhel/fedora ] $ dnfinstallcolordiff [ on fedora 23 version ] $ sudo apt-getinstalll colordiff
$ man colordiff wdiff命令diff命令逐行比较差异,而wdiff则更变态、逐字比较。 所以如果你的文本只是修改了少数词语,使用wdiff命令会更有效率。
安装命令如下:
$ yuminstallwdiff [ on centos/rhel/fedora ] $ dnfinstallwdiff [ on fedora 23 version ] $ sudo apt-getinstalllwdiff [ on debian
$ man wdiff 2
vimdiff命令
Vimdiff与vim -d命令(vim编辑器的diff模式)相同。
此命令后面通常有两个或多个文件名作为参数。 这些文件将在Vim编辑器的拆分窗口中同时打开,并突出显示文件中内容不同的部分。
中文主页为http://vimcdoc.SourceForge.net/doc/diff.html
上述两个是Linux命令行的比较工具。 让我们看看GUI比较工具。
3
Kompare
Kompare是一个基于diff的GUI工具,用户可以很容易地看到文件之间的差异,并可以将这些差异集成在一起。
Kompare的特性如下:
支持多种diff格式;
yle="text-align: justify">支持目录之间的比对;支持读取 diff 文件;
自定义界面;
创建及应用源文件的 patch 文件。
该工具的主页为:https://www.kde.org/applications/development/kompare/
4
DiffMerge
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/
热门内容:API 面试四连杀:接口如何设计?安全如何保证?签名如何实现?防重如何实现为什么 SQL 语句不要过多的 join?前后端分离 Spring Boot + Vue 开发网易云&QQ音乐(附源码)!fastjson到底做错了什么?为什么会被频繁爆出漏洞?用 float 存储金额,老板说损失从工资里扣!最近面试BAT,整理一份面试资料《Java面试BAT通关手册》,覆盖了Java核心技术、JVM、Java并发、SSM、微服务、数据库、数据结构等等。获取方式:点“在看”,关注公众号并回复 666 领取,更多内容陆续奉上。明天见(。・ω・。)ノ♡