Vyhledávání na webu

10 nejlepších nástrojů pro porovnávání a rozdíly (rozdíly) souborů v Linuxu


Při psaní programových souborů nebo normálních textových souborů chtějí programátoři a autoři někdy znát rozdíl mezi dvěma soubory nebo dvěma verzemi stejného souboru.

Když porovnáte dva počítačové soubory v systému Linux, rozdíl mezi jejich obsahem se nazývá rozdíl. Tento popis se zrodil z odkazu na výstup diff, známého unixového nástroje pro porovnávání souborů příkazového řádku.

Existuje několik nástrojů pro porovnávání souborů, které můžete použít v Linuxu, a v této recenzi se podíváme na některé z nejlepších nástrojů založených na terminálu a GUI, které můžete využít při psaní kódu nebo jiných textových souborů.

1. diff Příkaz

Rád bych začal s původním unixovým nástrojem příkazového řádku, který vám ukáže rozdíl mezi dvěma počítačovými soubory. Diff je jednoduchý a snadno použitelný, je předinstalovaný ve většině distribucí Linuxu, který porovnává soubory řádek po řádku a zobrazuje rozdíl mezi nimi.

Chcete-li porovnat dva soubory a zobrazit rozdíly.

diff file1.txt file2.txt

Chcete-li jej snadno použít, můžete se podívat na ruční zadání rozdíl.

man diff

Pro nástroj diff existují některé obaly, které vylepšují jeho funkčnost, a mezi ně patří:

Příkaz colordiff

Colordiff je skript v Perlu, který vytváří stejný výstup jako diff, ale s barvou a zvýrazněním syntaxe. Má přizpůsobitelná barevná schémata.

Colordiff můžete nainstalovat na své systémy Linux pomocí výchozích nástrojů správce balíčků nazývaných yum, dnf a apt-get nebo apt, jak je uvedeno na obrázku.

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]    

Chcete-li porovnat adresáře rekurzivně.

colordiff file1.txt file2.txt

Můžete se podívat na ruční zadání colordiff, jak je znázorněno.

man colordiff

Příkaz wdiff

Nástroj wdiff je příkaz front-end k diff používaný k porovnání souborů po slovech. Tento program je velmi užitečný při porovnávání dvou textů pro změněná slova a u kterých byly odstavce doplněny.

Chcete-li nainstalovat wdiff do systémů Linux, spusťte:

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]    

Chcete-li zobrazit dva soubory vedle sebe, zvýraznit rozdíly na úrovni slov.

wdiff file1.txt file2.txt

Pro použití v systému Linux použijte příručku wdiff.

man wdiff

2. Příkaz Vimdiff

Vimdiff pracuje pokročilejším způsobem ve srovnání s nástrojem diff, který umožňuje uživateli upravovat až čtyři verze souboru a zároveň ukázat jejich rozdíly. Když jej spustíte, Vimdiff otevře dva, tři nebo čtyři soubory pomocí textového editoru Vim.

Chcete-li použít vimdiff, musíte mít na svém systému nainstalovaný Vim, ale pokud není nainstalován, můžete jej nainstalovat pomocí správce balíčků.

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]    

Chcete-li porovnat dva soubory pomocí vimdiff, spusťte následující příkaz.

vimdiff file1.txt file2.txt

Můžete také použít vimdiff k porovnání tří souborů.

vimdiff file1.txt file2.txt file3.txt

Chcete-li získat podrobnější informace a možnosti použití, můžete spustit stránku manuálu.

man vimdiff

3. sdiff

Příkaz sdiff se používá k porovnání dvou souborů vedle sebe a zvýraznění rozdílů mezi nimi. Zobrazuje obsah dvou souborů v samostatných sloupcích s přidanými řádky s předponou ">", smazanými řádky s předponou "<" a společnými řádky zobrazenými bez jakýchkoli předpon. .

Příkaz sdiff se obvykle dodává se standardní instalací většiny distribucí Linuxu. Pokud však není nainstalován, můžete jej nainstalovat pomocí správce balíčků.

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]    

Chcete-li porovnat dva soubory a zobrazit rozdíly vedle sebe.

sdiff file1.txt file2.txt

Když jsme se podívali na staré nástroje rozdílů, přejděme rychle k některým nástrojům rozdílů GUI dostupných v systému Linux.

4. Srovnej

Kompare je grafický nástroj pro porovnání a sloučení, který uživatelům umožňuje porovnávat a zobrazovat rozdíly mezi soubory a také je slučovat.

Chcete-li nainstalovat Kompare v distribucích Linuxu, můžete použít správce balíčků specifický pro váš systém.

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ěkteré z jeho funkcí zahrnují:

  • Podporuje více formátů rozdílů
  • Podporuje porovnání adresářů
  • Podporuje čtení souborů rozdílů
  • Přizpůsobitelné rozhraní
  • Vytváření a aplikování oprav na zdrojové soubory

5. DiffMerge

DiffMerge je multiplatformní GUI aplikace pro porovnávání a slučování souborů. Má dva funkční moduly, engine Diff, který ukazuje rozdíl mezi dvěma soubory a podporuje zvýrazňování a úpravy uvnitř řádku, a modul Merge, který zobrazuje změněné řádky mezi tři soubory.

Má následující vlastnosti:

  • Podporuje porovnání adresářů
  • Integrace prohlížeče souborů
  • Vysoce konfigurovatelný

6. Meld – Diff Tool

Meld je odlehčený nástroj pro porovnání a sloučení GUI, který uživatelům umožňuje porovnávat soubory, adresáře a programy s řízenou verzí. Byl vytvořen speciálně pro vývojáře a přichází s následujícími funkcemi:

  • Obousměrné a třícestné porovnání souborů a adresářů
  • Aktualizace porovnání souborů, když uživatel zadá více slov
  • Usnadňuje sloučení pomocí režimu automatického sloučení a akcí se změněnými bloky
  • Snadné porovnávání pomocí vizualizací
  • Podporuje Git, Mercurial, Subversion, Bazaar a mnoho dalších

Chcete-li nainstalovat Meld v systému Linux, můžete jej pomocí správce balíčků nainstalovat z oficiálních repozitářů.

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. Diffuse – GUI Diff Tool

Diffuse je další populární, bezplatný, malý a jednoduchý nástroj pro porovnání a sloučení GUI, který můžete použít v Linuxu. Napsáno v Pythonu a nabízí dvě hlavní funkce, to znamená: porovnání souborů a kontrolu verzí, umožňující úpravy souborů a slučování souborů a také výstup rozdílů mezi soubory.

Chcete-li nainstalovat Diffuse v systému Linux, můžete použít správce balíčků, jak je uvedeno na obrázku.

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]    

Můžete zobrazit souhrn srovnání, vybrat řádky textu v souborech pomocí ukazatele myši, porovnat řádky v sousedních souborech a upravit různé soubory.

Mezi další funkce patří:

  • Zvýraznění syntaxe
  • Klávesové zkratky pro snadnou navigaci
  • Podporuje neomezené vrácení zpět
  • Podpora Unicode
  • Podporuje Git, CVS, Darcs, Mercurial, RCS, Subversion, SVK a Monotone

8. XXdiff – Nástroj pro porovnání a sloučení

XXdiff je bezplatný, výkonný nástroj pro porovnávání a slučování souborů a adresářů, který běží na operačních systémech podobných Unixu, jako jsou Linux, Solaris, HP/UX, IRIX a DEC Tru64. Jedním z omezení XXdiff je nedostatek podpory souborů Unicode a inline editace souborů rozdílů.

Má následující seznam funkcí:

  • Mělké a rekurzivní porovnání dvou, tří souborů nebo dvou adresářů
  • Horizontální zvýraznění rozdílu
  • Interaktivní slučování souborů a ukládání výsledného výstupu
  • Podporuje sloučení recenzí/policejní kontroly
  • Podporuje externí nástroje diff, jako je GNU diff, SIG diff, Cleareddiff a mnoho dalších
  • Rozšiřitelné pomocí skriptů
  • Plně přizpůsobitelné pomocí zdrojových souborů a mnoha dalších menších funkcí

9. KDiff3 – – Nástroj Rozdíl a sloučení

KDiff3 je další skvělý nástroj pro porovnání a sloučení napříč platformami vytvořený z KDevelop, který funguje na všech platformách podobných Unixu, včetně Linuxu a Mac OS X, Windows.

Chcete-li nainstalovat KDiff3 na Linux, můžete použít správce balíčků, jak je uvedeno na obrázku.

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]    

Dokáže porovnat nebo sloučit dva až tři soubory nebo adresáře a má následující pozoruhodné funkce:

  • Označuje rozdíly řádek po řádku a znak po znaku
  • Podporuje automatické slučování
  • Vestavěný editor pro řešení konfliktů při sloučení
  • Podporuje Unicode, UTF-8 a mnoho dalších kodeků
  • Umožňuje tisk rozdílů
  • Podpora integrace Průzkumníka Windows
  • Podporuje také automatickou detekci prostřednictvím značky objednávky bajtů „BOM“
  • Podporuje ruční zarovnání čar
  • Intuitivní GUI a mnoho dalších

10. TkDiff

TkDiff je také multiplatformní, snadno použitelný obal GUI pro unixový nástroj pro porovnání, který poskytuje pohled vedle sebe na rozdíly mezi dvěma vstupními soubory. Může běžet na Linuxu, Windows a Mac OS X.

Kromě toho má některé další vzrušující funkce včetně záložek rozdílů, grafické mapy rozdílů pro snadnou a rychlou navigaci a mnoho dalších.

Chcete-li nainstalovat TkDiff na Linux, můžete použít správce balíčků, jak je uvedeno na obrázku.

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]    
Závěr

Po přečtení této recenze některých z nejlepších nástrojů pro porovnávání souborů a adresářů a slučování pravděpodobně budete chtít některé z nich vyzkoušet.

Nemusí to být jediné dostupné nástroje pro porovnání, které můžete v Linuxu najít, ale je známo, že nabízejí některé z nejlepších funkcí. Můžete nám také dát vědět o jakýchkoli jiných nástrojích pro porovnání, které jste testovali a které si podle vás zaslouží. být zmíněn mezi nejlepšími.