Linux火眼金睛:查找兩個(gè)目錄之間的差異
在本文中,我們將描述如何在Linux中找到兩個(gè)目錄之間的差異。
通常,為了比較Linux中的兩個(gè)文件,我們使用diff,一個(gè)簡單而原始的Unix命令行工具,它向您顯示兩個(gè)計(jì)算機(jī)文件之間的差異。逐行比較文件,并且易于使用,并且在大多數(shù)Linux發(fā)行版中都預(yù)裝了該工具。
問題是如何在Linux中獲得兩個(gè)目錄之間的區(qū)別?在這里,我們想知道兩個(gè)目錄中共有哪些文件/子目錄,它們存在于一個(gè)目錄中卻不在另一個(gè)目錄中。
運(yùn)行diff的常規(guī)語法如下:
- $ diff [OPTION]… FILES
- $ diff options dir1 dir2
默認(rèn)情況下,其輸出按文件/子目錄名稱的字母順序排列,如下面的屏幕截圖所示。在此命令中,-q開關(guān)告訴diff僅在文件不同時(shí)報(bào)告。
- 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
兩個(gè)目錄之間的差異
同樣,diff不會(huì)進(jìn)入子目錄,但是我們可以使用-r開關(guān)讀取子目錄,就像這樣。
- linuxmi@linuxmi:~/www.linuxmi.com$ diff -qr www.linuxmi.com/ linuxmi.com/
使用Meld可視化差異和合并工具
有一個(gè)很酷的圖形化選項(xiàng)叫做meld(用于GNOME桌面的可視化差異和合并工具),對于那些喜歡使用鼠標(biāo)的人,您可以按如下方式安裝它。
- linuxmi@linuxmi:~/www.linuxmi.com$ sudo apt install meld [Debian/Ubuntu 系統(tǒng)]
- linuxmi@linuxmi:~/www.linuxmi.com$ sudo yum install meld [RHEL/CentOS 系統(tǒng)]
- linuxmi@linuxmi:~/www.linuxmi.com$ sudo dnf install meld [Fedora 22+]
安裝后,在Fedora或CentOS桌面上的“活動(dòng)概述”中的Ubuntu Dash或Linux Mint菜單中搜索“ meld”,然后啟動(dòng)它。
您將在下面看到Meld界面,您可以在其中選擇文件或目錄比較以及版本控制視圖。單擊目錄比較,然后轉(zhuǎn)到下一個(gè)界面。
選擇您想要比較的目錄,注意您可以通過勾選“3路比較”選項(xiàng)來添加第三個(gè)目錄(如下圖)。
一旦你選擇了目錄,點(diǎn)擊“比較”。
在本文中,我們描述了如何找到Linux中兩個(gè)目錄之間的區(qū)別。如果你知道任何其他命令行或GU方法,不要忘記通過下面的評論部分分享你對本文的想法。