Website-Suche

Die 10 besten Dateivergleichs- und Differenzierungstools (Diff) unter Linux


Beim Schreiben von Programmdateien oder normalen Textdateien möchten Programmierer und Autoren manchmal den Unterschied zwischen zwei Dateien oder zwei Versionen derselben Datei wissen.

Wenn Sie zwei Computerdateien unter Linux vergleichen, wird der Unterschied zwischen ihren Inhalten als diff bezeichnet. Diese Beschreibung entstand aus einem Verweis auf die Ausgabe von diff, dem bekannten Unix-Befehlszeilen-Dateivergleichsprogramm.

Es gibt mehrere Dateivergleichstools, die Sie unter Linux verwenden können. In diesem Test werden wir uns einige der besten terminalbasierten und GUI-Diff-Tools ansehen, die Sie beim Schreiben von Code oder anderen Textdateien nutzen können.

1. diff-Befehl

Ich beginne gerne mit dem ursprünglichen Unix-Befehlszeilentool, das Ihnen den Unterschied zwischen zwei Computerdateien zeigt. Diff ist einfach und benutzerfreundlich. Es ist auf den meisten Linux-Distributionen vorinstalliert, vergleicht Dateien Zeile für Zeile und gibt den Unterschied zwischen ihnen aus.

Um zwei Dateien zu vergleichen und die Unterschiede anzuzeigen.

diff file1.txt file2.txt

Zur einfachen Verwendung können Sie sich den manuellen Eintrag für diff ansehen.

man diff

Es gibt einige Wrapper für das diff-Tool, die seine Funktionalität erweitern. Dazu gehören:

colordiff-Befehl

Colordiff ist ein Perl-Skript, das die gleiche Ausgabe wie diff erzeugt, jedoch mit Farb- und Syntaxhervorhebung. Es verfügt über anpassbare Farbschemata.

Sie können Colordiff auf Ihren Linux-Systemen installieren, indem Sie Standard-Paketmanager-Tools namens yum, dnf und apt-get oder apt verwenden, wie gezeigt.

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]    

Um Verzeichnisse rekursiv zu vergleichen.

colordiff file1.txt file2.txt

Sie können den manuellen Eintrag für colordiff wie gezeigt überprüfen.

man colordiff

wdiff-Befehl

Das Dienstprogramm wdiff ist ein Front-End-Befehl für diff, mit dem Dateien Wort für Wort verglichen werden können. Dieses Programm ist sehr nützlich, wenn Sie zwei Texte vergleichen, bei denen sich Wörter geändert haben und bei denen Absätze neu aufgefüllt wurden.

Um wdiff auf Ihren Linux-Systemen zu installieren, führen Sie Folgendes aus:

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]    

Um die beiden Dateien nebeneinander anzuzeigen und die Unterschiede auf Wortebene hervorzuheben.

wdiff file1.txt file2.txt

Informationen zur Verwendung unter Linux finden Sie im wdiff-Handbuch.

man wdiff

2. Vimdiff-Befehl

Vimdiff funktioniert im Vergleich zum diff-Dienstprogramm auf erweiterte Weise, mit dem ein Benutzer bis zu vier Versionen einer Datei bearbeiten und gleichzeitig deren Unterschiede anzeigen kann. Wenn Sie es ausführen, öffnet Vimdiff zwei, drei oder vier Dateien mit dem Vim-Texteditor.

Um vimdiff verwenden zu können, muss Vim auf Ihrem System installiert sein. Wenn es jedoch nicht installiert ist, können Sie es mit Ihrem Paketmanager installieren.

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]    

Um zwei Dateien mit vimdiff zu vergleichen, führen Sie den folgenden Befehl aus.

vimdiff file1.txt file2.txt

Sie können auch vimdiff verwenden, um drei Dateien zu vergleichen.

vimdiff file1.txt file2.txt file3.txt

Für detailliertere Informationen und Nutzungsmöglichkeiten können Sie durch Ausführen auf die Handbuchseite zugreifen.

man vimdiff

3. sdiff

Der Befehl sdiff wird verwendet, um zwei Dateien nebeneinander zu vergleichen und die Unterschiede zwischen ihnen hervorzuheben. Der Inhalt der beiden Dateien wird in separaten Spalten angezeigt, wobei hinzugefügte Zeilen mit dem Präfix ">", gelöschte Zeilen mit dem Präfix "<" und gemeinsame Zeilen ohne Präfixe angezeigt werden .

Der Befehl sdiff ist normalerweise in der Standardinstallation der meisten Linux-Distributionen enthalten. Wenn es jedoch nicht installiert ist, können Sie es mit Ihrem Paketmanager installieren.

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]    

Um zwei Dateien zu vergleichen und die Unterschiede nebeneinander anzuzeigen.

sdiff file1.txt file2.txt

Nachdem wir uns die altmodischen Diff-Tools angesehen haben, gehen wir nun schnell zu einigen GUI-Diff-Tools über, die unter Linux verfügbar sind.

4. Vergleichen

Kompare ist ein grafisches Vergleichs- und Zusammenführungstool, mit dem Benutzer Unterschiede zwischen Dateien vergleichen, anzeigen und auch zusammenführen können.

Um Kompare auf Linux-Distributionen zu installieren, können Sie den für Ihr System spezifischen Paketmanager verwenden.

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]    

Zu seinen Funktionen gehören:

  • Unterstützt mehrere Diff-Formate
  • Unterstützt den Vergleich von Verzeichnissen
  • Unterstützt das Lesen von Diff-Dateien
  • Anpassbare Benutzeroberfläche
  • Erstellen und Anwenden von Patches auf Quelldateien

5. DiffMerge

DiffMerge ist eine plattformübergreifende GUI-Anwendung zum Vergleichen und Zusammenführen von Dateien. Es verfügt über zwei Funktionalitäts-Engines: die Diff-Engine, die den Unterschied zwischen zwei Dateien anzeigt und die Hervorhebung und Bearbeitung innerhalb von Zeilen unterstützt, und eine Merge-Engine, die die geänderten Zeilen dazwischen ausgibt drei Dateien.

Es verfügt über folgende Funktionen:

  • Unterstützt den Verzeichnisvergleich
  • Dateibrowser-Integration
  • Hochgradig konfigurierbar

6. Meld – Diff-Tool

Meld ist ein leichtes GUI-Tool zum Vergleichen und Zusammenführen, mit dem Benutzer Dateien, Verzeichnisse und versionierte Programme vergleichen können. Es wurde speziell für Entwickler entwickelt und verfügt über die folgenden Funktionen:

  • Zwei- und dreifacher Vergleich von Dateien und Verzeichnissen
  • Aktualisierung des Dateivergleichs, wenn ein Benutzer mehr Wörter eingibt
  • Erleichtert das Zusammenführen durch den automatischen Zusammenführungsmodus und Aktionen für geänderte Blöcke
  • Einfache Vergleiche mithilfe von Visualisierungen
  • Unterstützt Git, Mercurial, Subversion, Bazaar und viele mehr

Um Meld unter Linux zu installieren, können Sie es mit Ihrem Paketmanager aus den offiziellen Repositories installieren.

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 ist ein weiteres beliebtes, kostenloses, kleines und einfaches GUI-Diff- und Merge-Tool, das Sie unter Linux verwenden können. Es ist in Python geschrieben und bietet zwei Hauptfunktionen: Dateivergleich und Versionskontrolle, ermöglicht das Bearbeiten und Zusammenführen von Dateien sowie die Ausgabe der Unterschiede zwischen Dateien.

Um Diffuse unter Linux zu installieren, können Sie Ihren Paketmanager wie gezeigt verwenden.

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]    

Sie können eine Vergleichszusammenfassung anzeigen, Textzeilen in Dateien mit einem Mauszeiger auswählen, Zeilen in angrenzenden Dateien zuordnen und verschiedene Dateien bearbeiten.

Weitere Funktionen sind:

  • Satzstellung markieren
  • Tastaturkürzel für einfache Navigation
  • Unterstützt unbegrenztes Rückgängigmachen
  • Unicode-Unterstützung
  • Unterstützt Git, CVS, Darcs, Mercurial, RCS, Subversion, SVK und Monotone

8. XXdiff – Vergleichs- und Zusammenführungstool

XXdiff ist ein kostenloses, leistungsstarkes Tool zum Vergleichen und Zusammenführen von Dateien und Verzeichnissen, das auf Unix-ähnlichen Betriebssystemen wie Linux, Solaris, HP/UX, IRIX und DEC Tru64 läuft. Eine Einschränkung von XXdiff ist die fehlende Unterstützung für Unicode-Dateien und die Inline-Bearbeitung von Diff-Dateien.

Es verfügt über die folgende Liste von Funktionen:

  • Flacher und rekursiver Vergleich von zwei, drei Dateien oder zwei Verzeichnissen
  • Hervorhebung horizontaler Unterschiede
  • Interaktives Zusammenführen von Dateien und Speichern der resultierenden Ausgabe
  • Unterstützt Zusammenführungsüberprüfungen/-überwachung
  • Unterstützt externe Diff-Tools wie GNU Diff, SIG Diff, Cleareddiff und viele mehr
  • Erweiterbar durch Skripte
  • Vollständig anpassbar mithilfe von Ressourcendateien und vielen anderen kleineren Funktionen

9. KDiff3 – Vergleichs- und Zusammenführungstool

KDiff3 ist ein weiteres cooles, plattformübergreifendes Vergleichs- und Zusammenführungstool von KDevelop, das auf allen Unix-ähnlichen Plattformen funktioniert, einschließlich Linux und Mac OS X, Windows.

Um KDiff3 unter Linux zu installieren, können Sie Ihren Paketmanager wie gezeigt verwenden.

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]    

Es kann zwei bis drei Dateien oder Verzeichnisse vergleichen oder zusammenführen und verfügt über die folgenden bemerkenswerten Funktionen:

  • Zeigt Unterschiede Zeile für Zeile und Zeichen für Zeichen an
  • Unterstützt die automatische Zusammenführung
  • Eingebauter Editor zum Umgang mit Zusammenführungskonflikten
  • Unterstützt Unicode, UTF-8 und viele andere Codecs
  • Ermöglicht das Drucken von Unterschieden
  • Unterstützung der Windows Explorer-Integration
  • Unterstützt auch die automatische Erkennung über Byte-Order-Mark „BOM“
  • Unterstützt die manuelle Ausrichtung von Linien
  • Intuitive Benutzeroberfläche und vieles mehr

10. TkDiff

TkDiff ist außerdem ein plattformübergreifender, benutzerfreundlicher GUI-Wrapper für das Unix-Diff-Tool, der eine Parallelansicht der Unterschiede zwischen zwei Eingabedateien bietet. Es kann unter Linux, Windows und Mac OS X ausgeführt werden.

Darüber hinaus verfügt es über einige weitere aufregende Funktionen, darunter Diff-Lesezeichen, eine grafische Karte der Unterschiede für eine einfache und schnelle Navigation und vieles mehr.

Um TkDiff unter Linux zu installieren, können Sie Ihren Paketmanager wie gezeigt verwenden.

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]    
Abschluss

Nachdem Sie diesen Testbericht über einige der besten Tools zum Vergleichen und Zusammenführen von Dateien und Verzeichnissen gelesen haben, möchten Sie wahrscheinlich einige davon ausprobieren.

Dies sind möglicherweise nicht die einzigen Diff-Tools, die Sie unter Linux finden können, aber sie bieten bekanntermaßen einige der besten Funktionen. Vielleicht möchten Sie uns auch über alle anderen Diff-Tools informieren, die Sie getestet haben und die Sie für angemessen halten zu den Besten zählen.