在本文中,我們將描述如何在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
最新評論