程序員喜歡的9款最佳的Linux文件比較工具

LilDugdale 8年前發布 | 185K 次閱讀 Linux 程序員

程序員和撰稿人在編寫程序文件或平常的文本文件時,有時想知道兩個文件或同一文件的兩個版本之間的差異。你在Linux上比較兩個計算機文件時,文件內容之間的差異就叫diff。這一描述來源于提到diff的輸出,而diff是大名鼎鼎的Unix命令行文件的實用工具。

9款最佳Linux文件比較工具

你可以在Linux上使用幾款文件比較工具,我們在本文中介紹了一些最優秀的基于終端和基于GUI的比較工具,你在編寫代碼或其他文本文件時可以充分利用它們。

1.diff命令

我喜歡先介紹這款最初的Unix命令行工具,它為你顯示了兩個計算機文件之間的差異。diff很簡單,易于使用,它預先安裝在大多數Linux發行版上。它逐行比較文件,并輸出文件之間的差異。

你可以檢查一下diff的參考手冊項,以便易于使用。

# man diff 

比較文件的Linux diff命令

有一些面向diff工具的包裝器,它們改善了其功能,這些包括:

colordiff命令

colordiff是一個Perl腳本,生成與diff一樣的輸出,不過標以顏色和語法高亮顯示。它有可定制的配色方案。

你可以使用名為yum、dnf或apt-get的默認程序包管理器,將Colordiff安裝到Linux系統上,如圖所示。

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

你可以檢查一下Colordiff的手動輸入,如圖所示。

# man colordiff 

Linux Colordiff命令-顏色比較輸出

wdiff命令

wdiff實用工具是diff命令的一個前端,用來逐個單詞地比較文件。比較兩個文本,查找變化的單詞、查找哪些段落已重填時,該程序很有用。

想把wdiff安裝到Linux系統上,運行:

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

使用wdiff參考手冊,了解如何在Linux上使用。

# man wdiff 

wdiff比較Linux中的兩個文件。

2.Vimdiff命令

相比diff實用工具,Vimdiff采用了一種高級的工作方式。它讓用戶在顯示文件差異時,最多可以編輯一個文件的四個版本。你在運行Vimdiff時,它會使用vim文件編輯器,打開兩到四個文件。

Vimdiff編輯多個文件,查找差異。

訪問主頁: http://vimdoc.sourceforge.net/htmldoc/diff.html

了解了老式的比較工具后,不妨看一下Linux上的一些GUI比較工具。

3.Kompare

Kompare是一種比較GUI包裝器,讓用戶可以查看文件之間的差異,并且合并文件。

它的一些功能包括如下:

  • 支持多種diff格式
  • 支持目錄比較
  • 支持讀取diff文件
  • 可定制界面
  • 創建補丁,并將補丁打到源文件上

Kompare工具:比較Linux中的兩個文件

訪問主頁: https://www.kde.org/applications/development/kompare/

4.DiffMerge

DiffMerge是一種跨平臺的GUI應用程序,可用于比較和合并文件。它有兩個功能引擎:Diff引擎顯示了兩個文件之間的差異,支持行內高亮顯示和編輯,Merge引擎則輸出三個文件之間已變化的行。

它有下列功能:

  • 支持目錄比較
  • 集成了文件瀏覽器
  • 可高度配置

DiffMerge:比較Linux中的文件

訪問主頁: https://sourcegear.com/diffmerge/

5.Meld——比較工具

Meld是一款輕量級GUI比較和合并工具。它讓用戶能夠比較文件、目錄以及實行版本控制的程序。它是專門為開發人員構建的,具有下列功能:

  • 兩路、三路比較文件和目錄
  • 用戶輸入更多的單詞時,更新文件比較
  • 使用自動合并模式和對已變化的塊執行操作,讓合并更容易
  • 使用可視化,易于比較
  • 支持Git、Mercurial、Subversion、Bazaar以及更多

Meld:比較Linux中文件的一款diff工具

訪問主頁: http://meldmerge.org/

6.Diffuse——GUI比較工具

Diffuse是另一款流行、免費、小巧而簡單的GUI比較和合并工具,你可以在Linux上使用。它用Python編寫,提供了兩大功能:文件壓縮和版本控制,以便編輯文件、合并文件以及輸出文件之間的差異。

你可以查看比較摘要、使用鼠標指針選擇文件中的幾行文本,匹配鄰近文件中的行,以及編輯不同文件。其他功能包括如下:

  • 語法高亮顯示
  • 鍵盤快捷鍵,便于導航
  • 支持無限制的撤銷
  • 支持統一碼
  • 支持Git、CVS、Darcs、Mercurial、RCS、Subversion、SVK和Monotone

DiffUse:一款比較Linux中文本文件的工具

訪問主頁: http://diffuse.sourceforge.net/

7.XXdiff——比較和合并工具

XXdiff是一款免費、強大的文件和目錄比較及合并工具,可以在類似Unix的操作系統上運行,比如Linux、Solaris、HP/UX、IRIX和DEC Tru64。XXdiff的一大局限就是不支持統一碼文件,也不支持行內編輯diff文件。

它有下列功能:

  • 淺層和遞歸比較兩三個文件或兩個目錄
  • 橫向差異高亮顯示
  • 交互式合并文件,并保存因而得到的輸出
  • 支持合并審查/巡視
  • 支持外部的比較工具,比如GNU diff、SIG diff、Cleareddiff及更多
  • 可使用腳本來進行擴展
  • 可使用資源文件實現全面定制,還有其他許多次要功能

Xxdiff工具

訪問主頁: http://furius.ca/xxdiff/

8.KDiff3 ——比較和合并工具

KDiff3是另一款很酷的跨平臺比較和合并工具,是用KDevelop開發而成的。它可以在所有類似Unix的平臺上運行,包括Linux、Mac OS X和Windows。

它可以比較或合并兩三個文件或目錄,具有下列主要的功能:

  • 逐行和逐個字符地表明差異
  • 支持自動合并
  • 內置編輯器,以處理合并沖突
  • 支持統一碼、UTF-8及另外許多編解碼器
  • 允許打印輸出差異
  • 支持與Windows資源管理器集成
  • 還通過字節順序標記(BOM),支持自動檢測
  • 支持手動對齊行
  • 交互式GUI及其他許多功能

面向Linux的KDiff3工具

訪問主頁: http://kdiff3.sourceforge.net/

9.TkDiff

TkDiff也是一款跨平臺、易于使用的GUI包裝器,面向Unix diff工具。它提供了并排查看兩個輸入文件之間差異的功能。它可以在Linux、Windows和Mac OS X上運行。

另外,它有一些激動人心的功能,包括diff書簽、圖形化差異圖,以便易于快速導航,以及其他功能。

訪問主頁: https://sourceforge.net/projects/tkdiff/

看完了這篇介紹一些最佳文件和目錄比較和合并工具的文章后,你可能想要試一試其中幾款了。這些可能不是你在Linux上所能找到的唯一的diff工具,不過它們提供了一些最佳功能。如果你用過其他比較工具,覺得應該也有一席之地,歡迎留言交流。

 

來自: http://os.51cto.com/art/201607/513796.htm

 

 本文由用戶 LilDugdale 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!