咱們已經從一個新手的角度瞭解了 Meld (包括 Meld 的安裝),咱們也說起了一些 Meld 中級用戶經常使用的小技巧。若是你有印象,在新手教程中,咱們說過 Meld 能夠比較文件和文件夾。已經討論過怎麼比較文件,今天,咱們來看看 Meld 怎麼比較文件夾。html
須要指出的是,本教程中的全部命令和例子都是在 Ubuntu 14.04 上測試的,使用的 Meld 版本爲 3.14.2。linux
用 Meld 比較文件夾shell
打開 Meld 工具,而後選擇 比較文件夾Directory comparison 選項來比較兩個文件夾。工具
Compare directories using Meld測試
選擇你要比較的文件夾:
字體
select the directories網站
而後單擊比較Compare 按鈕,你會看到 Meld 像圖中這樣分紅兩欄比較目錄,就像文件比較同樣。編碼
Compare directories visually操作系統
分欄會樹形顯示這些文件夾。你能夠在上圖中看到 —— 區別之處,不管是新建的仍是被修改過的文件 —— 都會以不一樣的顏色高亮顯示。版本控制
根據 Meld 的官方文檔能夠知道,在窗口中看到的每一個不一樣的文件或文件夾都會被突出顯示。這樣就很容易看出這個文件/文件夾與另外一個分欄中對應位置的文件/文件夾的區別。
下表是 Meld 網站上列出的在比較文件夾時突出顯示的不一樣字體大小/顏色/背景等表明的含義。
狀態 | 表現 | 含義 |
---|---|---|
相同 | 正常字體 | 比較的文件夾中全部文件/文件夾相同。 |
過濾後相同 | 斜體 | 文件夾中文件不一樣,但使用文本過濾器的話,文件是相同的。 |
修改過 | 藍色粗體 | 比較的文件夾中這些文件不一樣。 |
新建 | 綠色粗體 | 該文件/文件夾在這個目錄中存在,但其它目錄中沒有。 |
缺失 | 置灰文本,刪除線 | 該文件/文件夾在這個目錄中不存在,在在其它某個目錄中存在。 |
錯誤 | 黃色背景的紅色粗體 | 比較文件時發生錯誤,最多見錯誤緣由是文件權限(例如,Meld 沒法打開該文件)和文件名編碼錯誤。 |
Meld 默認會列出比較文件夾中的全部內容,即便這些內容沒有任何不一樣。固然,你也能夠在工具欄中單擊相同Same按鈕設置 Meld 不顯示這些相同的文件/文件夾 —— 單擊這個按鈕使其不可用。
same button
Meld compare buttons
下面是單擊 相同Same 按鈕使其不可用的截圖:
Directory Comparison without same files
這樣你會看到只顯示了兩個文件夾中不一樣的文件(新建的和修改過的)。一樣,若是你單擊 新建New 按鈕使其不可用,那麼 Meld 就只會列出修改過的文件。因此,在比較文件夾時能夠經過這些按鈕自定義要顯示的內容。
你可使用工具窗口顯示區的上下箭頭來切換選擇是顯示新建的文件仍是修改過的文件。要打開兩個文件進行分欄比較,能夠雙擊文件,或者單擊箭頭旁邊的 比較Compare按鈕。
meld compare arrow keys
提示 1:若是你仔細觀察,就會看到 Meld 窗口的左邊和右邊有一些小條。這些條的目的是提供「簡單的用顏色區分的比較結果」。對每一個不一樣的文件/文件夾,條上就有一個小的顏色塊。你能夠單擊每個這樣的小塊跳到它對應的文件/文件夾。
提示 2:你總能夠分欄比較文件,而後以你的方式合併不一樣的文件,假如你想要合併全部不一樣的文件/文件夾(就是說你想要一個特定的文件/文件夾與另外一個徹底相同),那麼你能夠用 複製到左邊Copy Left和 複製到右邊Copy Right 按鈕:
meld copy right part
好比,你能夠在左邊的分欄中選擇一個文件或文件夾,而後單擊 複製到右邊Copy Right 按鈕,使右邊對應條目徹底同樣。
如今,在窗口的下拉菜單中找到 過濾Filters 按鈕,它就在 相同Same、新建New 和 修改的Modified 這三個按鈕下面。這裏你能夠選擇或取消文件的類型,告知 Meld 在比較文件夾時是否顯示這種類型的文件/文件夾。官方文檔解釋說菜單中的這個條目表示「執行文件夾比較時該類文件名不會被查看。」
該列表中條目包括備份文件,操做系統元數據,版本控制文件、二進制文件和多媒體文件。
Meld filters
前面提到的條目也能夠經過這樣的方式找到:瀏覽->文件過濾。你能夠經過 編輯->首選項->文件過濾 爲這個條目增長新元素(也能夠刪除已經存在的元素)。
Meld preferences
要新建一個過濾條件,你須要使用一組 shell 符號,下表列出了 Meld 支持的 shell 符號:
通配符 | 匹配 |
---|---|
* | 任何字符 (例如,零個或多個字符) |
? | 一個字符 |
[abc] | 所列字符中的任何一個 |
[!abc] | 不在所列字符中的任何一個 |
{cat,dog} | 「cat」 或 「dog」 中的一個 |
最重要的一點是 Meld 的文件名默認大小寫敏感。也就是說,Meld 認爲 readme 和 ReadMe 與 README 是不同的文件。
幸運的是,你能夠關掉 Meld 的大小寫敏感。只須要打開 瀏覽 菜單而後選擇 忽略文件名大小寫 Ignore Filename Case 選項。
Meld ignore filename case
本文地址:http://www.linuxprobe.com/how-to-use-meld-linux.html