0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

9種Linux下常用的9種代碼比對工具

Linux愛好者 ? 來源:良許Linux ? 2020-08-14 16:55 ? 次閱讀

在我們編寫代碼的時候,我們經(jīng)常需要知道兩個文件之間,或者同一個文件不同版本之間有什么差異性。在 Windows 下有個很強大的工具叫作 BeyondCompare ,那在 Linux 下需要用到什么工具呢?

本文介紹 9 種 Linux 下常用的 9 種代碼比對工具,不僅有命令行工具,還有 GUI 界面工具,讓你輕松進行代碼比對。

1diff命令

diff命令是 Linux 下自帶的一個強大的文本比對工具,而且使用起來非常方便。對于它的使用,我之前也單獨寫過一篇文章介紹,點擊下方鏈接可以查看。

diff 命令在大多數(shù)的 Linux 發(fā)行版里已經(jīng)預裝了,它可以逐行比對兩個文本文件,并輸出它們的差異點。更多介紹可以直接查看它的 man 手冊。

$ man diff

但是,diff 命令雖然強大,但它的輸出結(jié)果實在是太感人了,不直觀也不清晰。于是,有大佬為了彌補這個缺點,基于 diff 開發(fā)了更強大的工具。這里推薦兩個:colordiff和wdiff。

colordiff命令

colordiff是一個 Perl 腳本工具,它的輸出結(jié)果和 diff 命令一樣,但是會給代碼著色,并且具有語法高亮功能。同時,你如果不喜歡它的默認顏色的話,還可以自定義主題。

你可以自行安裝 colordiff 到你的電腦,根據(jù)不同的發(fā)行版選擇不同的安裝命令。

$ 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更變態(tài),是逐字比較。所以如果你的文本只是修改了少數(shù)一些詞語的話,使用 wdiff 命令將更加高效。

安裝命令如下:

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

更詳細內(nèi)容可以查看它的 man 手冊。

$ man wdiff2vimdiff命令

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

該命令后面通常會接兩個或多個文件名作為參數(shù),這些文件會同時在 Vim 編輯器的分割窗口中打開,并高亮顯示文件中內(nèi)容有差異的部分。

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

以上介紹的兩款是 Linux 命令行的對比工具,我們再來看一些 GUI 比對工具。

3Kompare

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

Kompare 的特性有如下:

支持多種 diff 格式;

支持目錄之間的比對;

支持讀取 diff 文件;

自定義界面;

創(chuàng)建及應用源文件的 patch 文件。

該工具的主頁為:https://www.kde.org/applications/development/kompare/

4DiffMerge

DiffMerge是一個跨平臺的 GUI 文本比對工具,具有 Linux ,Windows ,macOS 三大平臺版本。我們知道,BeyondCompare 是一款收費軟件,所以如果你們公司的版權(quán)要求比較高的話,不妨考慮一下 DiffMerge工具。

DiffMerge 具有兩大功能:1. 圖示化顯示兩個文件之間的改變。包含內(nèi)部行高亮和完整的編輯支持。2. 圖示化顯示三個文件之間的改變。允許自動合并(當可以安全操作時)和對結(jié)果文件完全編輯控制。

它具有以下特性:

支持文件夾比對;

集成文件瀏覽器;

高度可配置。

該工具的主頁為:https://sourcegear.com/diffmerge/

5 Meld

Meld是一個輕量級 GUI 代碼比對工具,它支持用戶比對文件、目錄,并且高度集成版本控制軟件。但針對軟件開發(fā)人員,它的以下幾個特性尤為吸引人:

執(zhí)行雙向和三向差異并合并

輕松地在差異和沖突之間導航

逐個文件地比較兩個或三個目錄,顯示新文件,缺失文件和更改文件

支持許多版本控制系統(tǒng),包括 Git,Mercurial,Bazaar 和 SVN 等。

它的官網(wǎng)為:http://meldmerge.org/

6 Diffuse

Diffuse是另外一款很受歡迎的,免費,小巧,也十分簡單的 GUI 文本差異比對合并工具,它是用 Python 寫成的,具有兩個主要功能:文件比對及版本控制,允許文件編輯、合并,并且輸出兩個文件的差異點。

你可以使用它查看文本比對小結(jié),使用鼠標選擇文件里的某行進行編輯。它的其它特性包括:

語法高亮

快捷鍵便于文本導航

無限次撤銷

支持 unicode 編碼文件

支持許多版本控制系統(tǒng),包括 Git,Mercurial,Bazaar 和 SVN 等。

它的官網(wǎng)為:http://diffuse.sourceforge.net/

7 XXdiff

XXdiff是一款免費、強大的文件及文件夾差異比對及合并工具,它可以運行在很多類 Unix 系統(tǒng)上。不過它有個限制就是它不支持 unicode 文件,也沒法辦法直接編輯文件。

它具有以下特性:

遞歸對比文件及文件夾

高亮顯示差異點

合并差異點,導出結(jié)果

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

支持腳本拓展

8 KDiff3

KDiff3是另外一種很強大的跨平臺差異比對及合并工具,它是由KDevelop開發(fā)而成,可以在所有類 Unix 平臺上運行,包括 Linux ,Mac OS ,Windows 等。

它可以比對或合并兩到三個文件或目錄,具有以下特性:

可以逐句、逐字對比差異

支持自動合并

內(nèi)置編輯器,可以手動解決沖突

支持 unicode ,UTF-8 等各種編碼格式

支持打印差異

它的官網(wǎng)為:http://kdiff3.sourceforge.net/

9 TkDiff

TkDiff是另外一種跨平臺,易于使用的 GUI 文本比對工具,可以運行在 Linux ,Windows 及 MacOS 系統(tǒng)上。它同樣提供一個左右分開的界面,用于查看對比的兩個文件。

但是,它也有一些其它文本對比工具沒有的功能,比如差異書簽,以及一個便于快速定位導航差異點的導航圖。

它的官網(wǎng)為:https://sourceforge.net/projects/tkdiff/

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11342

    瀏覽量

    210216
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4823

    瀏覽量

    68935
  • GUI
    GUI
    +關(guān)注

    關(guān)注

    3

    文章

    662

    瀏覽量

    39843

原文標題:Linux 下 9 種優(yōu)秀的代碼比對工具推薦

文章出處:【微信號:LinuxHub,微信公眾號:Linux愛好者】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 0人收藏

    評論

    相關(guān)推薦

    KiCad 9 探秘(二):多通道設計工具

    “ ?Replicate Layout 插件終于可以淘汰了。KiCad 9 自帶了多通道設計工具,比 Replicate Layout 更強大,更穩(wěn)定! ? ” 又是一個千呼萬喚始出來的功能,熟悉
    的頭像 發(fā)表于 01-03 11:21 ?503次閱讀
    KiCad <b class='flag-5'>9</b> 探秘(二):多通道設計<b class='flag-5'>工具</b>

    9常見的換熱器工作原理

    : ? ? 直接接觸式換熱器,也叫混合式換熱器,是冷熱流體進行直接接觸并換熱的設備。通常情況,直接接觸的兩流體是氣體和汽化壓力較低的液體; ?蓄能式換熱器的工作原理,是利用固體物質(zhì)的導熱特性,具體而言,熱介質(zhì)先將固體物質(zhì)加熱到一定溫
    的頭像 發(fā)表于 01-03 09:57 ?195次閱讀
    <b class='flag-5'>9</b><b class='flag-5'>種</b>常見的換熱器工作原理

    RZ T2H PCIe裸機程序開發(fā)和Linux的配置介紹

    瑞薩電子最新推出RZ/T2H工業(yè)專用MPU,單芯片提供強大應用處理性能,多協(xié)議工業(yè)網(wǎng)絡及高達9軸高精度實時控制,支持Linux,RTOS及baremetal操作。除了強大CPU性能和9軸控制外設外
    的頭像 發(fā)表于 12-18 11:14 ?830次閱讀
    RZ T2H PCIe裸機程序開發(fā)和<b class='flag-5'>Linux</b><b class='flag-5'>下</b>的配置介紹

    PHP48_4P9X4P9,PHP48_4P9X4P9-L,PHP48_4P9X4P9-M,這三封裝除了焊盤的長度不同還有什么區(qū)別呢?

    PHP48_4P9X4P9,PHP48_4P9X4P9-L,PHP48_4P9X4P9-M,這三封裝的區(qū)別除了焊盤的長度不同還有什么區(qū)別呢,三
    發(fā)表于 11-28 06:34

    Kali Linux常用工具介紹

    Kali Linux 虛擬機中自帶了大量滲透測試工具,涵蓋了信息收集、漏洞利用、口令破解、漏洞掃描等多個方面。 以下是按分類簡要介紹一部分常用工具的使用方法: 使用方法只能當做參考,**詳細
    的頭像 發(fā)表于 11-11 09:29 ?679次閱讀

    芯片開發(fā)必備工具|好用的文件比對工具有哪些?

    在芯片開發(fā)工程中,通常為了知道工程目錄下發(fā)生了哪些改動,或者兩份源碼文件之間有什么不同,會需要用到文件和文件夾的比對工具。使用工具比肉眼觀察更便捷,也更精確!本文將介紹自己最常用的幾款
    的頭像 發(fā)表于 11-01 08:11 ?502次閱讀
    芯片開發(fā)必備<b class='flag-5'>工具</b>|好用的文件<b class='flag-5'>比對</b><b class='flag-5'>工具</b>有哪些?

    芯片開發(fā)必備工具——好用的文件比對工具有哪些?

    芯片開發(fā)必備工具——好用的文件比對工具有哪些?
    的頭像 發(fā)表于 11-01 08:11 ?313次閱讀
    芯片開發(fā)必備<b class='flag-5'>工具</b>——好用的文件<b class='flag-5'>比對</b><b class='flag-5'>工具</b>有哪些?

    Linux應用層控制外設的兩不同的方式

    眾所周知,linux下一切皆文件,那么應用層如何控制硬件層,同樣是通過 文件I/O的方式來實現(xiàn)的,那么應用層控制硬件層通常有兩方式。
    的頭像 發(fā)表于 10-05 19:03 ?678次閱讀
    <b class='flag-5'>Linux</b>應用層控制外設的兩<b class='flag-5'>種</b>不同的方式

    常用嵌入式開發(fā)代碼

    使用開源協(xié)議:GPL-2.0varch簡介varch(we-architecture,意為我們的框架庫)是嵌入式C語言常用代碼模塊庫,包含了嵌入式中常用的算法庫,數(shù)據(jù)結(jié)構(gòu)(容器)庫,解析器庫,獨立C
    的頭像 發(fā)表于 09-04 08:06 ?539次閱讀
    一<b class='flag-5'>種</b><b class='flag-5'>常用</b>嵌入式開發(fā)<b class='flag-5'>代碼</b>庫

    Soundcheck 自動比對程序 標準品比對

    Soundcheck 是聲學測試中比較標準化的軟件,有很強的二次開發(fā)性,A產(chǎn)品體系指定的聲學測試軟件,涉及到測試的部分就離不開定期的標準品點檢,而聲學曲線的比對比常規(guī)的電測、光學量測等的標準品比對
    發(fā)表于 06-27 22:09

    Jlink-V9固件刷新工具-J-link固件刷新

    Jlink-V9固件刷新工具 - J-link固件刷新針對J-link偶發(fā)損壞問題,進行固件升級后解決問題。
    發(fā)表于 06-11 09:11 ?47次下載

    芯海通用 MCU應用筆記 :在 IAR 及 MDK 開發(fā)環(huán)境使用 printf 函數(shù)重定向移植差異指南

    對 printf 函數(shù)支持的差異。并在本應用筆記結(jié)尾處給出可以一鍵移植到 Keil、IAR8.x、IAR9.x 版本的通用重定向代碼。 Keil 和 IAR 都是常用的開發(fā)
    發(fā)表于 05-16 11:56

    谷歌Pixel 9系列手機曝光:尺寸與規(guī)格各異

    據(jù)知情人士透露,Google即將于近期推出Pixel 9系列新款智能手機。該系列包括Pixel 9、Pixel 9 Pro及Pixel 9 Pro XL三
    的頭像 發(fā)表于 05-14 09:54 ?829次閱讀

    使用STM32L4系列芯片時,調(diào)試工具JLink必須是V9或以上版本嗎?

    大家好,我在使用JLink V8載并調(diào)試STM32L4R9ZI芯片的時候發(fā)現(xiàn)會有警告框。參考正點原子“潘多拉STM32L475開發(fā)板教程”,教程中建議使用調(diào)試工具JLink時候,必須是V9
    發(fā)表于 04-08 06:17

    Linux常用命令自學手冊》工具書永遠是常備的秘籍

    和幫助。非常適合作為一你要學習開發(fā)的Linux系統(tǒng)的基礎工具書使用。 《Linux常用命令自學手冊》是一本非常值得一讀的書籍。它不僅為初學
    發(fā)表于 01-29 19:42

    電子發(fā)燒友

    中國電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會員交流學習
    • 獲取您個性化的科技前沿技術(shù)信息
    • 參加活動獲取豐厚的禮品