首頁>技術>

在本文中,我們將描述如何在Linux中找到兩個目錄之間的差異。

通常,為了比較Linux中的兩個檔案,我們使用diff,一個簡單而原始的Unix命令列工具,它向您顯示兩個計算機檔案之間的差異。逐行比較檔案,並且易於使用,並且在大多數Linux發行版中都預裝了該工具。

問題是如何在Linux中獲得兩個目錄之間的區別?在這裡,我們想知道兩個目錄中共有哪些檔案/子目錄,它們存在於一個目錄中卻不在另一個目錄中。

執行diff的常規語法如下:

$ diff [OPTION]… FILES  $ diff options dir1 dir2  

預設情況下,其輸出按檔案/子目錄名稱的字母順序排列,如下面的螢幕截圖所示。在此命令中,-q開關告訴diff僅在檔案不同時報告。

linuxmi@linuxmi:~/www.linuxmi.com$ diff -q www.linuxmi.com/ linuxmi.com/ 

只在 www.linuxmi.com/ 存在:Blender 2.blend

只在 www.linuxmi.com/ 存在:Windows 10 vs Debian vs Arch Linux (EndeavourOS) - Speed Test!-cQWwb8VRrhU.mkv

兩個目錄之間的差異

同樣,diff不會進入子目錄,但是我們可以使用-r開關讀取子目錄,就像這樣。

linuxmi@linuxmi:~/www.linuxmi.com$ diff -qr www.linuxmi.com/ linuxmi.com/ 

使用Meld視覺化差異和合並工具

有一個很酷的圖形化選項叫做meld(用於GNOME桌面的視覺化差異和合並工具),對於那些喜歡使用滑鼠的人,您可以按如下方式安裝它。

linuxmi@linuxmi:~/www.linuxmi.com$ sudo apt install meld [Debian/Ubuntu 系統] 
linuxmi@linuxmi:~/www.linuxmi.com$ sudo yum install meld [RHEL/CentOS 系統]  linuxmi@linuxmi:~/www.linuxmi.com$ sudo dnf install meld [Fedora 22+]  

安裝後,在Fedora或CentOS桌面上的“活動概述”中的Ubuntu Dash或Linux Mint選單中搜索“ meld”,然後啟動它。

您將在下面看到Meld介面,您可以在其中選擇檔案或目錄比較以及版本控制檢視。單擊目錄比較,然後轉到下一個介面。

選擇您想要比較的目錄,注意您可以透過勾選“3路比較”選項來新增第三個目錄(如下圖)。

文章轉自:XXVI.AI

3
最新評論
  • BSA-TRITC(10mg/ml) TRITC-BSA 牛血清白蛋白改性標記羅丹明
  • 如何使用Beaglebone® Black進行圖形開發?