程序員喜歡的9款最佳的Linux文件比較工具
2016-07-07 09:01:00 來源:來源:51CTO.com 評論:0 點擊:
【51CTO.com快譯】程序員和撰稿人在編寫程序文件或平常的文本文件時,有時想知道兩個文件或同一文件的兩個版本之間的差異。你在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工具
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工具
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工具,不過它們提供了一些最佳功能。如果你用過其他比較工具,覺得應該也有一席之地,歡迎留言交流。
原文標題:9 Best File Comparison and Difference (Diff) Tools for Linux,作者:Aaron Kili
【51CTO譯稿,合作站點轉載請注明原文譯者和出處為51CTO.com】
【編輯推薦】
