Weboldal keresés

10 legjobb fájl-összehasonlító és különbségi (diff) eszköz a Linuxban


Programfájlok vagy normál szövegfájlok írása közben a programozók és írók néha tudni akarják, mi a különbség két fájl vagy ugyanazon fájl két verziója között.

Ha összehasonlít két számítógépes fájlt Linuxon, a tartalmuk közötti különbséget különbségnek nevezzük. Ez a leírás a diff, a jól ismert Unix parancssori fájl-összehasonlító segédprogram kimenetére való hivatkozásból született.

Számos fájl-összehasonlító eszköz használható Linuxon, és ebben az áttekintésben megvizsgáljuk a legjobb terminálalapú és GUI-diff eszközöket, amelyeket kód vagy más szöveges fájlok írásakor használhat.

1. diff Parancs

Szeretem az eredeti Unix parancssori eszközzel kezdeni, amely megmutatja a különbséget két számítógépes fájl között. A Diff egyszerű és könnyen használható, a legtöbb Linux disztribúcióra előre telepítve van, amely soronként összehasonlítja a fájlokat, és kiírja a köztük lévő különbséget.

Két fájl összehasonlítása és a különbségek megjelenítése.

diff file1.txt file2.txt

Az egyszerű használat érdekében tekintse meg a diff kézi bejegyzését.

man diff

A diff eszköznek van néhány burkolója, amelyek javítják annak funkcionalitását, és ezek a következők:

colordiff parancs

A Colordiff egy Perl-szkript, amely ugyanazt a kimenetet adja, mint a diff, de szín- és szintaktikai kiemeléssel. Testreszabható színsémákkal rendelkezik.

Telepítheti a Colordiff-ot Linux-rendszereire az alapértelmezett csomagkezelő eszközök, a yum, dnf és apt-get vagy apt használatával, az ábrán látható módon.

sudo apt install colordiff         [On Debian, Ubuntu and Mint]
sudo yum install colordiff         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
sudo emerge -a sys-apps/colordiff  [On Gentoo Linux]
sudo apk add colordiff             [On Alpine Linux]
sudo pacman -S colordiff           [On Arch Linux]
sudo zypper install colordiff      [On OpenSUSE]    

Könyvtárak rekurzív összehasonlítása.

colordiff file1.txt file2.txt

Megnézheti a colordiff kézi bejegyzését, ahogy az ábra mutatja.

man colordiff

wdiff parancs

A wdiff segédprogram egy front-end to diff parancs, amellyel a fájlok szóról szóra hasonlíthatók össze. Ez a program nagyon hasznos, ha két olyan szöveget hasonlít össze, amelyek megváltoztatták a szavakat, és amelyeknél a bekezdéseket újratöltötték.

A wdiff telepítéséhez a Linux rendszeren futtassa:

sudo apt install wdiff         [On Debian, Ubuntu and Mint]
sudo yum install wdiff         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
sudo emerge -a sys-apps/wdiff  [On Gentoo Linux]
sudo apk add wdiff             [On Alpine Linux]
sudo pacman -S wdiff           [On Arch Linux]
sudo zypper install wdiff      [On OpenSUSE]    

A két fájl egymás melletti megjelenítéséhez, kiemelve a szószintű különbségeket.

wdiff file1.txt file2.txt

Linuxon való használatához használja a wdiff kézikönyvet.

man wdiff

2. Vimdiff-parancs

A Vimdiff fejlettebb módon működik a diff segédprogrammal összehasonlítva, amely lehetővé teszi a felhasználó számára, hogy egy fájl legfeljebb négy verzióját szerkessze, miközben megmutatja a különbségeket. Amikor futtatja, a Vimdiff két vagy három vagy négy fájlt nyit meg a Vim szövegszerkesztővel.

A vimdiff használatához telepítenie kell a Vim-et a rendszerére, de ha nincs telepítve, telepítheti a csomagkezelő segítségével.

sudo apt install vim         [On Debian, Ubuntu and Mint]
sudo yum install vim         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
sudo emerge -a sys-apps/vim  [On Gentoo Linux]
sudo apk add vim             [On Alpine Linux]
sudo pacman -S vim           [On Arch Linux]
sudo zypper install vim      [On OpenSUSE]    

Két fájl összehasonlításához a vimdiff használatával a következő parancsot kell végrehajtania.

vimdiff file1.txt file2.txt

A vimdiff segítségével is összehasonlíthat három fájlt.

vimdiff file1.txt file2.txt file3.txt

A részletesebb információkért és a használati lehetőségekért futással elérheti a kézikönyv oldalt.

man vimdiff

3. sdiff

Az sdiff parancs két fájl egymás melletti összehasonlítására szolgál, kiemelve a köztük lévő különbségeket. A két fájl tartalmát külön oszlopokban jeleníti meg, hozzáadott sorokkal a ">" előtaggal, a törölt sorokkal a "<" előtaggal, és a közös sorokat előtag nélkül. .

Az sdiff parancs általában a legtöbb Linux disztribúció szabványos telepítésével együtt érkezik. Ha azonban nincs telepítve, akkor a csomagkezelő segítségével telepítheti.

sudo apt install diffutils         [On Debian, Ubuntu and Mint]
sudo yum install diffutils         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
sudo emerge -a sys-apps/diffutils  [On Gentoo Linux]
sudo apk add diffutils             [On Alpine Linux]
sudo pacman -S diffutils           [On Arch Linux]
sudo zypper install diffutils      [On OpenSUSE]    

Két fájl összehasonlítása és a különbségek egymás melletti megjelenítése.

sdiff file1.txt file2.txt

Miután megvizsgáltuk a régi iskola diff eszközöket, gyorsan térjünk át néhány Linuxon elérhető GUI diff eszközre.

4. Kompare

A Kompare egy grafikus differenciáló és egyesítő eszköz, amely lehetővé teszi a felhasználók számára, hogy összehasonlítsák és megtekintsék a fájlok közötti különbségeket, valamint egyesítsék őket.

A Kompare Linux disztribúciókra történő telepítéséhez használhatja a rendszeréhez tartozó csomagkezelőt.

sudo apt install kompare         [On Debian, Ubuntu and Mint]
sudo yum install kompare         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
sudo emerge -a sys-apps/kompare  [On Gentoo Linux]
sudo apk add kompare             [On Alpine Linux]
sudo pacman -S kompare           [On Arch Linux]
sudo zypper install kompare      [On OpenSUSE]    

Néhány jellemzője a következőket tartalmazza:

  • Több diff formátumot támogat
  • Támogatja a könyvtárak összehasonlítását
  • Támogatja a diff fájlok olvasását
  • Testreszabható felület
  • Javítások létrehozása és alkalmazása forrásfájlokra

5. DiffMerge

A DiffMerge egy többplatformos GUI alkalmazás fájlok összehasonlítására és egyesítésére. Két funkciómotorja van: a Diff motor, amely megmutatja a két fájl közötti különbséget, és támogatja a soron belüli kiemelést és szerkesztést, valamint egy Merge motor, amely a megváltozott sorokat adja ki három fájl.

A következő tulajdonságokkal rendelkezik:

  • Támogatja a címtárak összehasonlítását
  • Fájlböngésző integráció
  • Jól konfigurálható

6. Meld – Diff Tool

A Meld egy könnyű GUI-diff- és -egyesítési eszköz, amely lehetővé teszi a felhasználók számára, hogy összehasonlítsák a fájlokat, könyvtárakat és verzió-vezérelt programokat. Kifejezetten fejlesztők számára készült, és a következő funkciókkal rendelkezik:

  • Fájlok és könyvtárak két- és háromirányú összehasonlítása
  • A fájl-összehasonlítás frissítése, amikor a felhasználó több szót ír be
  • Az automatikus egyesítés mód és a megváltozott blokkon végzett műveletek használatával megkönnyíti az egyesítést
  • Egyszerű összehasonlítások vizualizációkkal
  • Támogatja a Git, Mercurial, Subversion, Bazaar és még sok más funkciót

A Meld Linux rendszeren történő telepítéséhez a csomagkezelővel telepítheti a hivatalos tárolókból.

sudo apt install meld         [On Debian, Ubuntu and Mint]
sudo yum install meld         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
sudo emerge -a sys-apps/meld  [On Gentoo Linux]
sudo apk add meld             [On Alpine Linux]
sudo pacman -S meld           [On Arch Linux]
sudo zypper install meld      [On OpenSUSE]    

7. Diffúz – GUI Diff Tool

A Diffuse egy másik népszerű, ingyenes, kicsi és egyszerű GUI-diff- és -egyesítési eszköz, amelyet Linuxon is használhat. Python nyelven íródott, két fő funkciót kínál, azaz: fájl-összehasonlítást és verziókezelést, lehetővé téve a fájlok szerkesztését és a fájlok egyesítését, valamint a fájlok közötti különbséget is.

A Diffuse Linux rendszerre történő telepítéséhez használja a csomagkezelőt az ábrán látható módon.

sudo apt install diffuse         [On Debian, Ubuntu and Mint]
sudo yum install diffuse         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
sudo emerge -a sys-apps/diffuse  [On Gentoo Linux]
sudo apk add diffuse             [On Alpine Linux]
sudo pacman -S diffuse           [On Arch Linux]
sudo zypper install diffuse      [On OpenSUSE]    

Megtekintheti az összehasonlító összefoglalót, egérmutató segítségével kijelölheti a fájlok szövegsorait, egyeztetheti a sorokat a szomszédos fájlokban, és szerkesztheti a különböző fájlokat.

További jellemzők:

  • Szintaxis kiemelés
  • Billentyűparancsok az egyszerű navigáció érdekében
  • Támogatja a korlátlan visszavonást
  • Unicode támogatás
  • Támogatja a Git, CVS, Darcs, Mercurial, RCS, Subversion, SVK és Monotone fájlokat

8. XXdiff – Diff and Merge Tool

Az XXdiff egy ingyenes, hatékony fájl- és könyvtár-összehasonlító és egyesítő eszköz, amely Unix-szerű operációs rendszereken fut, mint például a Linux, a Solaris, a HP/UX, az IRIX és a DEC Tru64. Az XXdiff egyik korlátja, hogy nem támogatja a Unicode fájlokat és a diff fájlok soron belüli szerkesztését.

A következő funkciók listájával rendelkezik:

  • Két, három fájl vagy két könyvtár sekély és rekurzív összehasonlítása
  • Vízszintes különbség kiemelése
  • Fájlok interaktív egyesítése és a kapott kimenet mentése
  • Támogatja az összevonási felülvizsgálatokat/rendészetet
  • Támogatja a külső diff eszközöket, mint például a GNU diff, SIG diff, Cleareddiff és még sok más
  • Szkriptekkel bővíthető
  • Teljesen testreszabható az erőforrásfájlok és sok más kisebb funkció segítségével

9. KDiff3 – – Diff and Merge Tool

A KDiff3 egy újabb klassz, platformok közötti különbségtételi és egyesítési eszköz, amely a KDevelop-ból készült, és minden Unix-szerű platformon működik, beleértve a Linuxot, a Mac OS X-et és a Windowst is.

A KDiff3 Linux rendszeren történő telepítéséhez használja a csomagkezelőt az ábrán látható módon.

sudo apt install kdiff3         [On Debian, Ubuntu and Mint]
sudo yum install kdiff3         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
sudo emerge -a sys-apps/kdiff3  [On Gentoo Linux]
sudo apk add kdiff3             [On Alpine Linux]
sudo pacman -S kdiff3           [On Arch Linux]
sudo zypper install kdiff3      [On OpenSUSE]    

Összehasonlíthat vagy egyesíthet két-három fájlt vagy könyvtárat, és a következő figyelemre méltó jellemzőkkel rendelkezik:

  • Soronként és karakterenként jelzi a különbségeket
  • Támogatja az automatikus egyesítést
  • Beépített szerkesztő az összevonási konfliktusok kezelésére
  • Támogatja a Unicode-ot, az UTF-8-at és sok más kodeket
  • Lehetővé teszi a különbségek nyomtatását
  • Windows Explorer integrációs támogatás
  • Támogatja az automatikus felismerést is a „BOM” bájtsorrend-jelen keresztül
  • Támogatja a vonalak kézi igazítását
  • Intuitív GUI és még sok más

10. TkDiff

A TkDiff egy többplatformos, könnyen használható grafikus felhasználói felület burkolója a Unix diff eszközhöz, amely egymás melletti nézetet nyújt a két bemeneti fájl közötti különbségekről. Futhat Linuxon, Windowson és Mac OS X-en.

Ezen túlmenően további izgalmas funkciókkal rendelkezik, beleértve a különböző könyvjelzőket, a különbségek grafikus térképét az egyszerű és gyors navigáció érdekében, valamint még sok mást.

A TkDiff Linux rendszerre történő telepítéséhez használja a csomagkezelőt az ábrán látható módon.

sudo apt install tkdiff         [On Debian, Ubuntu and Mint]
sudo yum install tkdiff         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
sudo emerge -a sys-apps/tkdiff  [On Gentoo Linux]
sudo apk add tkdiff             [On Alpine Linux]
sudo pacman -S tkdiff           [On Arch Linux]
sudo zypper install tkdiff      [On OpenSUSE]    
Következtetés

Miután elolvasta ezt az áttekintést a legjobb fájl- és könyvtár-összehasonlító és egyesítő eszközökről, valószínűleg ki szeretne próbálni néhányat.

Lehet, hogy nem ezek az egyetlen elérhető különbségtételi eszközök, amelyeket Linuxon találhat, de ismert, hogy a legjobb tulajdonságokat kínálják. Érdemes lehet értesíteni minket minden más, már tesztelt, és úgy gondolja, hogy megérdemlik a különbségtételi eszközöket. a legjobbak között említik.