1. 程式人生 > >Linux對比檔案,很好用的圖形介面

Linux對比檔案,很好用的圖形介面

1. Without GUI

1.1 diff

diff可以比較2個資料夾

語法:diff [選項] file1 file2 說明:該命令告訴使用者,為了使兩個檔案file1和file2一致,需要修改它們的哪些行。如果用“- ”表示file1或fiie2,則表示標準輸入。如果file1或file2是目錄,那麼diff將使用該目錄中的同名檔案進行比較。 例如: diff /usr/xu mine

選項的含義如下:
- b 忽略行尾的空格,而字串中的一個或多個空格符都視為相等。
如How are you與How are you被視為相同的字串。
- c 採用上下文輸出格式(提供三行上下文)。
- C n 採用上下文輸出格式(提供n行上下文)。
- e 產生一個合法的ed指令碼作為輸出。
- r 當file1和file2是目錄時,遞迴作用到各檔案和目錄上。 

1.2 comm

語法:comm [- 123 ] file1 file2 說明:該命令是對兩個已經排好序的檔案進行比較。其中file1和file2是已排序的檔案。comm讀取這兩個檔案,然後生成三列輸出:僅在file1中出現的行;僅在file2中出現的行;在兩個檔案中都存在的行。如果檔名用“- ”,則表示從標準輸入讀取。 comm -1 不顯示只出現在第一個檔案的行。 comm -2 不顯示只出現在第二個檔案的行。 comm -3 不顯示同時出現在兩個檔案的行。 comm file1 file2 顯示三列,第一列代表只出現在file1的行,第二列代表只出現在file2的行,第三列代表倆個檔案同時出現的行 comm -12 顯示兩個檔案同時出現的行 也就是交集 comm -13 顯示只出現在第二個檔案的行 comm -23 顯示只出現在第一個檔案的行

1.3 colordiff

在 Linux 下,使用 diff 命令可以對檔案進行比較,從而瞭解其差異。不過,diff 命令的輸出結果以同色顯示,對於這種差異的表現可能不夠強烈。好在我們還可以通過 ColorDiff 來加以改善。ColorDiff 是一個 Perl 指令碼,它通過不同的顏色來高亮顯示 diff 命令的輸出結果,非常顯眼。

ColorDiff 適用於 Linux 及 BSD 系統,目前已被包含到 Debian、Ubuntu、Gentoo、Arch Linux、Fedora、FreeBSD 等發行版中。你可以從中直接加以安裝。



2. With GUI

由於沒有GUI,diff和comm不是那麼好用,下面推薦幾個帶GUI的軟體。

2.1 diffuse

我一般都是用這個,很好用。也可以直接把內容貼上到diffuse版面中,直接進行對比。

視覺化比較,非常直觀。
支援兩相比較和三相比較。這就是說,使用 Diffuse 你可以同時比較兩個或三個文字檔案。
支援常見的版本控制工具,包括 CVS、subversion、git、mercurial 等。你可以通過 Diffuse 直接從版本控制系統獲取原始碼,以便對其進行比較和合並。
支援像 C++、Python、Java、XML 等語言的語法高亮顯示。
能夠直接在 Diffuse 中編輯檔案。
支援 UTF-8 編碼。
可以使用快捷鍵輕鬆導航。


2.2 KDiff3

KDiff3 是一款用來對檔案或目錄進行比較/合併的工具,在比較時它可以同時針對兩個或者三個檔案/目錄而進行。通過比較,它將檔案/目錄的差異按行加以顯示。同時,KDiff3 提供有自動化的合併工具,方便使用者進行有關合並的操作。

此外,KDiff3 支援 Unicode 編碼,集成了編輯器,可以自動合併版本控制歷史。雖然 KDiff3 主要為 KDE 桌面而開發,但是仍然可以運行於其他的 Linux 環境。甚至對於 Windows、Mac OS X,KDiff3 也有相應的版本

3. 參考文獻

[1] Linux檔案比較命令  http://baike.baidu.com/link?url=Q_9aovjvvYNNbDY09eUlz5R0kBd1RC17GmmZ9YRJFth6naLrptqmna15V3qzXrrP

[2] Linux下檔案差異比較工具  http://blog.csdn.net/baozi1159/article/details/7572819