程序员喜欢的9款最佳的Linux文件比较工具

LilDugdale 8年前
   <p>程序员和撰稿人在编写程序文件或平常的文本文件时,有时想知道两个文件或同一文件的两个版本之间的差异。你在Linux上比较两个计算机文件时,文件内容之间的差异就叫diff。这一描述来源于提到diff的输出,而diff是大名鼎鼎的Unix命令行文件的实用工具。</p>    <p><img src="https://simg.open-open.com/show/174074d8791a085671572facb61b0ebc.jpg"></p>    <p>9款最佳Linux文件比较工具</p>    <p>你可以在Linux上使用几款文件比较工具,我们在本文中介绍了一些最优秀的基于终端和基于GUI的比较工具,你在编写代码或其他文本文件时可以充分利用它们。</p>    <h2>1.diff命令</h2>    <p>我喜欢先介绍这款最初的Unix命令行工具,它为你显示了两个计算机文件之间的差异。diff很简单,易于使用,它预先安装在大多数Linux发行版上。它逐行比较文件,并输出文件之间的差异。</p>    <p>你可以检查一下diff的参考手册项,以便易于使用。</p>    <pre>  # man diff   </pre>    <p><img src="https://simg.open-open.com/show/76fd769fc44fc4527de091f34e9f919c.jpg"></p>    <p>比较文件的Linux diff命令</p>    <p>有一些面向diff工具的包装器,它们改善了其功能,这些包括:</p>    <p>colordiff命令</p>    <p>colordiff是一个Perl脚本,生成与diff一样的输出,不过标以颜色和语法高亮显示。它有可定制的配色方案。</p>    <p>你可以使用名为yum、dnf或apt-get的默认程序包管理器,将Colordiff安装到Linux系统上,如图所示。</p>    <pre>  # yum install colordiff [On CentOS/RHEL/Fedora]   # dnf install colordiff [On Fedora 23+ version]   $ sudo apt-get install colordiff [On Debian/Ubuntu/Mint]   </pre>    <p>你可以检查一下Colordiff的手动输入,如图所示。</p>    <pre>  # man colordiff   </pre>    <p><img src="https://simg.open-open.com/show/b23445a3b9987626a2d78bf6e0cc32eb.jpg"></p>    <p>Linux Colordiff命令-颜色比较输出</p>    <p>wdiff命令</p>    <p>wdiff实用工具是diff命令的一个前端,用来逐个单词地比较文件。比较两个文本,查找变化的单词、查找哪些段落已重填时,该程序很有用。</p>    <p>想把wdiff安装到Linux系统上,运行:</p>    <pre>  # yum install wdiff [On CentOS/RHEL/Fedora]   # dnf install wdiff   [On Fedora 23+ version]   $ sudo apt-get install wdiff [On Debian/Ubuntu/Mint]   </pre>    <p>使用wdiff参考手册,了解如何在Linux上使用。</p>    <pre>  # man wdiff   </pre>    <p>wdiff比较Linux中的两个文件。</p>    <h2>2.Vimdiff命令</h2>    <p>相比diff实用工具,Vimdiff采用了一种高级的工作方式。它让用户在显示文件差异时,最多可以编辑一个文件的四个版本。你在运行Vimdiff时,它会使用vim文件编辑器,打开两到四个文件。</p>    <p><img src="https://simg.open-open.com/show/3d0a6425ecd5baadda5c537bcd560d82.jpg"></p>    <p>Vimdiff编辑多个文件,查找差异。</p>    <p>访问主页: <a href="/misc/goto?guid=4959675064380027246" rel="nofollow,noindex">http://vimdoc.sourceforge.net/htmldoc/diff.html</a></p>    <p>了解了老式的比较工具后,不妨看一下Linux上的一些GUI比较工具。</p>    <h2>3.Kompare</h2>    <p>Kompare是一种比较GUI包装器,让用户可以查看文件之间的差异,并且合并文件。</p>    <p>它的一些功能包括如下:</p>    <ul>     <li>支持多种diff格式</li>     <li>支持目录比较</li>     <li>支持读取diff文件</li>     <li>可定制界面</li>     <li>创建补丁,并将补丁打到源文件上</li>    </ul>    <p><img src="https://simg.open-open.com/show/141073ef506d76e4b1c44fc3717a4302.jpg"></p>    <p>Kompare工具:比较Linux中的两个文件</p>    <p>访问主页: <a href="/misc/goto?guid=4959675064466158669" rel="nofollow,noindex">https://www.kde.org/applications/development/kompare/</a></p>    <h2>4.DiffMerge</h2>    <p>DiffMerge是一种跨平台的GUI应用程序,可用于比较和合并文件。它有两个功能引擎:Diff引擎显示了两个文件之间的差异,支持行内高亮显示和编辑,Merge引擎则输出三个文件之间已变化的行。</p>    <p>它有下列功能:</p>    <ul>     <li>支持目录比较</li>     <li>集成了文件浏览器</li>     <li>可高度配置</li>    </ul>    <p><img src="https://simg.open-open.com/show/352ecc02b072abd8eeca23a3c8b70a3b.jpg"></p>    <p>DiffMerge:比较Linux中的文件</p>    <p>访问主页: <a href="/misc/goto?guid=4958861717234598746" rel="nofollow,noindex">https://sourcegear.com/diffmerge/</a></p>    <h2>5.Meld——比较工具</h2>    <p>Meld是一款轻量级GUI比较和合并工具。它让用户能够比较文件、目录以及实行版本控制的程序。它是专门为开发人员构建的,具有下列功能:</p>    <ul>     <li>两路、三路比较文件和目录</li>     <li>用户输入更多的单词时,更新文件比较</li>     <li>使用自动合并模式和对已变化的块执行操作,让合并更容易</li>     <li>使用可视化,易于比较</li>     <li>支持Git、Mercurial、Subversion、Bazaar以及更多</li>    </ul>    <p><img src="https://simg.open-open.com/show/a3e219396ca51ace3bbc7a51ba84c60b.jpg"></p>    <p>Meld:比较Linux中文件的一款diff工具</p>    <p>访问主页: <a href="/misc/goto?guid=4958831346930095532" rel="nofollow,noindex">http://meldmerge.org/</a></p>    <h2>6.Diffuse——GUI比较工具</h2>    <p>Diffuse是另一款流行、免费、小巧而简单的GUI比较和合并工具,你可以在Linux上使用。它用Python编写,提供了两大功能:文件压缩和版本控制,以便编辑文件、合并文件以及输出文件之间的差异。</p>    <p>你可以查看比较摘要、使用鼠标指针选择文件中的几行文本,匹配邻近文件中的行,以及编辑不同文件。其他功能包括如下:</p>    <ul>     <li>语法高亮显示</li>     <li>键盘快捷键,便于导航</li>     <li>支持无限制的撤销</li>     <li>支持统一码</li>     <li>支持Git、CVS、Darcs、Mercurial、RCS、Subversion、SVK和Monotone</li>    </ul>    <p><img src="https://simg.open-open.com/show/ef2f5394bd86e4212dfc0c38f3a51bfc.jpg"></p>    <p>DiffUse:一款比较Linux中文本文件的工具</p>    <p>访问主页: <a href="/misc/goto?guid=4958188044598401592" rel="nofollow,noindex">http://diffuse.sourceforge.net/</a></p>    <h2>7.XXdiff——比较和合并工具</h2>    <p>XXdiff是一款免费、强大的文件和目录比较及合并工具,可以在类似Unix的操作系统上运行,比如Linux、Solaris、HP/UX、IRIX和DEC Tru64。XXdiff的一大局限就是不支持统一码文件,也不支持行内编辑diff文件。</p>    <p>它有下列功能:</p>    <ul>     <li>浅层和递归比较两三个文件或两个目录</li>     <li>横向差异高亮显示</li>     <li>交互式合并文件,并保存因而得到的输出</li>     <li>支持合并审查/巡视</li>     <li>支持外部的比较工具,比如GNU diff、SIG diff、Cleareddiff及更多</li>     <li>可使用脚本来进行扩展</li>     <li>可使用资源文件实现全面定制,还有其他许多次要功能</li>    </ul>    <p><img src="https://simg.open-open.com/show/5e10e68bc226fadc1884efbd06e7d60d.jpg"></p>    <p>Xxdiff工具</p>    <p>访问主页: <a href="/misc/goto?guid=4958861717339586711" rel="nofollow,noindex">http://furius.ca/xxdiff/</a></p>    <h2>8.KDiff3 ——比较和合并工具</h2>    <p>KDiff3是另一款很酷的跨平台比较和合并工具,是用KDevelop开发而成的。它可以在所有类似Unix的平台上运行,包括Linux、Mac OS X和Windows。</p>    <p>它可以比较或合并两三个文件或目录,具有下列主要的功能:</p>    <ul>     <li>逐行和逐个字符地表明差异</li>     <li>支持自动合并</li>     <li>内置编辑器,以处理合并冲突</li>     <li>支持统一码、UTF-8及另外许多编解码器</li>     <li>允许打印输出差异</li>     <li>支持与Windows资源管理器集成</li>     <li>还通过字节顺序标记(BOM),支持自动检测</li>     <li>支持手动对齐行</li>     <li>交互式GUI及其他许多功能</li>    </ul>    <p><img src="https://simg.open-open.com/show/c298f980f485b276958d409e4d08c3c3.jpg"></p>    <p>面向Linux的KDiff3工具</p>    <p>访问主页: <a href="/misc/goto?guid=4958337884794562914" rel="nofollow,noindex">http://kdiff3.sourceforge.net/</a></p>    <h2>9.TkDiff</h2>    <p>TkDiff也是一款跨平台、易于使用的GUI包装器,面向Unix diff工具。它提供了并排查看两个输入文件之间差异的功能。它可以在Linux、Windows和Mac OS X上运行。</p>    <p>另外,它有一些激动人心的功能,包括diff书签、图形化差异图,以便易于快速导航,以及其他功能。</p>    <p>访问主页: <a href="/misc/goto?guid=4959675064683246503" rel="nofollow,noindex">https://sourceforge.net/projects/tkdiff/</a></p>    <p>看完了这篇介绍一些最佳文件和目录比较和合并工具的文章后,你可能想要试一试其中几款了。这些可能不是你在Linux上所能找到的唯一的diff工具,不过它们提供了一些最佳功能。如果你用过其他比较工具,觉得应该也有一席之地,欢迎留言交流。</p>    <p> </p>    <p>来自: <a href="/misc/goto?guid=4959675064769749495" rel="nofollow">http://os.51cto.com/art/201607/513796.htm</a></p>    <p> </p>