Linux-Befehle · 4 min read · Sep 17, 2025

Linux cmp-Befehl Tutorial für Anfänger (7 Beispiele)

Der cmp-Befehl wird im Linux-Betriebssystem verwendet, um zwei Dateien byteweise zu vergleichen. Er gibt eine prägnante Ausgabe der Unterschiede zwischen zwei Dateien aus, sodass der Benutzer Abweichungen zwischen ihnen leicht erkennen kann. Der cmp-Befehl zeigt an, wie viele nicht übereinstimmende Bytes an welchen Offsets aufgetreten sind, und bietet eine Zusammenfassung der fehlerhaften Vergleiche. Mit diesem nützlichen Tool können Benutzer schnell überprüfen, ob zwei Dateien identisch sind oder nicht.

In diesem Tutorial werden wir ‘cmp’ anhand leicht verständlicher Beispiele besprechen. Aber bevor wir das tun, ist es erwähnenswert, dass alle in diesem Tutorial genannten Beispiele und Anweisungen auf Ubuntu 22.04 getestet wurden.

cmp-Befehl

Der ‘cmp’-Befehl ermöglicht es Ihnen, einen byteweisen Vergleich von zwei Dateien durchzuführen. Das Dienstprogramm bietet mehrere Funktionen in Form von Befehlszeilenoptionen. In diesem Tutorial werden wir einige wichtige Optionen besprechen, die Ihnen (als Anfänger) eine gute Vorstellung davon geben, wie das Tool funktioniert.

1. Wie man zwei Dateien mit cmp vergleicht

In seiner einfachsten Form können Sie ‘cmp’ wie folgt verwenden:

cmp [datei1-name] [datei2-name]

Wie bereits erwähnt, vergleicht das Tool zwei Dateien byteweise. Wenn ein Unterschied gefunden wird, stoppt das Tool und erzeugt eine Ausgabe, die angibt, in welcher Zeile und an welchem Byte der Unterschied liegt.

Zum Beispiel:

cmp datei1.txt datei2.txt

Vergleichen Sie zwei Dateien unter Linux mit dem cmp-Befehl

Wie Sie im obigen Screenshot sehen können, sagt die Ausgabe deutlich, dass sich die Dateien an Byte 20 in Zeile 1 unterscheiden.

2. Wie man cmp dazu bringt, unterschiedliche Bytes anzuzeigen

Wenn Sie möchten, können Sie auch ‘cmp’ dazu bringen, die unterschiedlichen Bytes in seiner Ausgabe anzuzeigen. Dies kann mit der -b-Befehlszeilenoption erfolgen.

cmp -b [datei1] [datei2]

Zum Beispiel:

cmp -b datei1.txt datei2.txt

Wie man cmp dazu bringt, unterschiedliche Bytes anzuzeigen

In diesem Fall, wie Sie im obigen Screenshot sehen können, liegt der Unterschied im 17. Byte, das ‘l’ in datei1.txt und ‘i’ in datei2.txt ist. Die Werte 154 und 151 sind die Werte für diese Bytes.

3. Wie man cmp dazu bringt, einige Anfangsbytes von beiden Dateien zu überspringen

Wenn Sie möchten, können Sie ‘cmp’ auch dazu bringen, eine bestimmte Anzahl von Anfangsbytes von beiden Dateien zu überspringen und sie dann zu vergleichen. Dies kann erfolgen, indem Sie die Anzahl der Bytes als Argument für die -i-Befehlszeilenoption angeben.

cmp -i [anzahl-zu-überspringende-bytes] [datei1] [datei2]

Zum Beispiel:

cmp -i 10 datei1.txt datei2.txt

Beachten Sie, dass in solchen Fällen (in denen Sie -i verwenden, um Bytes zu überspringen) das Byte, an dem der Vergleich beginnt, als Byte Nummer null behandelt wird.

Darüber hinaus ermöglicht es das Tool auch, eine unterschiedliche Anzahl von Bytes von beiden Dateien zu überspringen. Dies kann auf folgende Weise erfolgen:

cmp -i [anzahl-zu-überspringende-bytes-von-erster-datei] : [anzahl-zu-überspringende-bytes-von-zweiter-datei] [datei1] [datei2]

Zum Beispiel:

cmp -i 4:7 datei1.txt datei2.txt

Wie man cmp dazu bringt, einige Anfangsbytes von beiden Dateien zu überspringen

4. Wie man cmp dazu bringt, die Byte-Position (und den Wert) für alle unterschiedlichen Bytes anzuzeigen

Sie können auch den ‘cmp’-Befehl dazu bringen, die Byte-Position und den Byte-Wert für alle unterschiedlichen Bytes auszugeben. Diese Funktion kann mit der -l-Befehlszeilenoption aufgerufen werden.

cmp -l [datei1] [datei2]

Zum Beispiel:

cmp -l datei1.txt datei2.txt

Wie man cmp dazu bringt, die Byte-Position (und den Wert) für alle unterschiedlichen Bytes anzuzeigen

Die erste Spalte in der Ausgabe (Beispiel oben gezeigt) repräsentiert die Position (Byte-Nummer) der unterschiedlichen Bytes. Die zweite Spalte repräsentiert den Byte-Wert des unterschiedlichen Bytes in der ersten Datei, während die dritte Spalte den Byte-Wert des unterschiedlichen Bytes in der zweiten Datei darstellt.

5. Wie man die Anzahl der zu vergleichenden Bytes begrenzt

Das Tool ermöglicht es Ihnen auch, die Anzahl der Bytes zu begrenzen, die Sie vergleichen möchten - zum Beispiel möchten Sie möglicherweise höchstens 25 oder 50 Bytes vergleichen. Dies kann mit der -n-Befehlszeilenoption erfolgen.

cmp -n [anzahl-der-zu-vergleichenden-bytes] [datei1] [datei2]

Zum Beispiel:

cmp -n 25 datei1.txt datei2.txt

6. Wie man den Fortschrittsbalken beim Verwenden des cmp-Befehls anzeigt

Beim Vergleichen großer Dateien (oder sogar Partitionen) mit ‘cmp’ möchten Sie möglicherweise den Fortschritt des laufenden Vergleichs sehen. Dies kann mit dem ‘pv’-Befehl zusammen mit dem ‘cmp’-Befehl erfolgen. Hier ist die Befehlsvorlage, die Sie verwenden können:

$ pv [datei1] | cmp -l [datei2] > [ausgabedatei]

Zum Beispiel:

$ pv datei1.txt | cmp -l datei3.txt > ausgabe.txt

Beachten Sie, dass die Datei ‘ausgabe.txt’ alle Ausgaben enthält, die der ‘cmp’-Befehl erzeugt. Der Fortschrittsbalken (den Sie im obigen Screenshot sehen können) wird vom ‘pv’-Befehl erzeugt.

Der ‘pv’-Befehl ist normalerweise nicht vorinstalliert in Linux (zumindest nicht auf Ubuntu). Aber Sie können ihn leicht mit dem folgenden Befehl installieren:

sudo apt-get install pv

7. Wie man ‘cmp’ dazu bringt, die Ausgabe zu unterdrücken

Das Tool ermöglicht es Ihnen auch, die Ausgabe, die es normalerweise erzeugt, zu unterdrücken. Dies kann mit der -s-Befehlszeilenoption erfolgen.

$ cmp -s [datei1] [datei2]

Zum Beispiel:

$ cmp -s datei1.txt datei2.txt

Diese Option kann nützlich sein, wenn Sie das ‘cmp’-Dienstprogramm in Skripten verwenden. Zum Beispiel, je nachdem, ob die Dateien identisch sind (was man durch den Rückgabewert des Befehls erkennen kann), möchten Sie möglicherweise eine benutzerdefinierte Nachricht anstelle der Ausgabe anzeigen, die das Tool normalerweise erzeugt.

Fazit

Wir haben die meisten Optionen des ‘cmp’-Befehls in diesem Artikel besprochen, sodass Sie diese üben müssen, um das Tool in Ihrer täglichen Arbeit zu verwenden. Bei Zweifeln oder Fragen konsultieren Sie die ‘cmp’-Man-Seite.

Share: X/Twitter LinkedIn

Erhalte neue Beiträge in deinem Posteingang.

Kein Spam. Jederzeit abmelden.