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.