Startseite > Textverarbeitung & Suche > cmp

cmp: Byte-weiser Dateivergleich

Der Befehl cmp vergleicht zwei Dateien Byte für Byte und gibt die erste Position und Zeilennummer an, an der sich die Dateien unterscheiden. Er ist nützlich, um schnell die Übereinstimmung einfacher Binärdateien oder Textdateien zu überprüfen.

Übersicht

cmp ist ein wesentlich einfacheres Vergleichstool als der diff-Befehl. Während diff die Unterschiede zwischen Dateien zeilenweise detailliert anzeigt, gibt cmp lediglich die Tatsache aus, dass 'zwei Dateien unterschiedlich sind', zusammen mit der ersten Position (Byte-Offset) und der Zeilennummer, an der der Unterschied auftritt. Daher ist es sehr effektiv, wenn Sie nur die Übereinstimmung von Konfigurationsdateien oder Binärdateien überprüfen möchten, ohne den gesamten Inhalt sehen zu müssen.

Hauptmerkmale

Die Hauptmerkmale des cmp-Befehls sind:

  • Vergleicht Dateien Byte für Byte.
  • Gibt nur die erste Position und Zeilennummer aus, an der ein Unterschied auftritt.
  • Die Ausgabe ist einfach und eignet sich zur Überprüfung der Dateigleichheit in Skripten.
  • Besonders nützlich für den Vergleich von Binärdateien.

Unterschiede zu diff

cmp und diff sind beides Dateivergleichstools, unterscheiden sich jedoch in Zweck und Ausgabemethode.

  • cmp: Byte-weiser Vergleich, meldet nur den ersten Unterschied, geeignet für Binärdateivergleich.
  • diff: Zeilenweiser Vergleich, meldet alle Unterschiede detailliert, geeignet für Textdateivergleich.

Hauptoptionen

Häufig verwendete Optionen des cmp-Befehls sind nach Zweck gruppiert.

1) Vergleichsoptionen

2) Hilfe

Erzeugter Befehl:

Kombinieren Sie die Befehle.

Beschreibung:

`cmp` Führen Sie den Befehl aus.

Kombinieren Sie diese Optionen und führen Sie die Befehle virtuell zusammen mit der KI aus.

Anwendungsbeispiele

Lernen Sie die Funktionen des cmp-Befehls anhand verschiedener Anwendungsbeispiele kennen.

Zwei Textdateien vergleichen

echo 'Hello World' > file1.txt
echo 'Hello World' > file2.txt
cmp file1.txt file2.txt

Wenn zwei identische Textdateien verglichen werden, wird nichts ausgegeben.

Zwei unterschiedliche Textdateien vergleichen

echo 'Hello World' > file1.txt
echo 'Hello, World' > file2.txt
cmp file1.txt file2.txt

Wenn sich der Dateiinhalt unterscheidet, werden die Byteposition und die Zeilennummer des ersten Unterschieds ausgegeben.

Binärdateien vergleichen

cmp /bin/ls /bin/cmp

Überprüft einfach die Übereinstimmung von Binärdateien. Keine Ausgabe bedeutet, dass die Dateien identisch sind.

Verwendung in Skripten

cmp -s file1.txt file2.txt && echo 'Dateien sind identisch.' || echo 'Dateien sind unterschiedlich.'

Verwendet den Exit-Code von cmp, um je nach Dateigleichheit eine Verzweigung zu implementieren.

Exit-Codes

cmp meldet das Vergleichsergebnis über Exit-Codes, was die Verwendung in Skripten erleichtert.

cmp Exit-Statuswerte
Code Bedeutung
0 Beide Dateien sind identisch
1 Beide Dateien sind unterschiedlich
2 Nicht zugängliche Datei oder Optionsfehler

Installation

cmp ist in den meisten Linux-Distributionen standardmäßig als Teil des `diffutils`-Pakets enthalten. Eine separate Installation ist nicht erforderlich.

Tipps & Hinweise

Wichtige Hinweise zur Verwendung des cmp-Befehls sind hier zusammengefasst.

Tipps

  • cmp ist für den Vergleich von Binärdateien optimiert. Um Inhaltsunterschiede in Textdateien anzuzeigen, wird die Verwendung von `diff` empfohlen.
  • Die Option `cmp -s` unterdrückt die Ausgabe und ist daher praktisch für die Verwendung in Skripten mit `if`-Anweisungen oder `&&`/`||`-Operatoren.
  • Die Bytepositionen beginnen bei 1, und die mit `cmp -l` ausgegebenen Byte-Werte sind in Oktalnotation.

Verwandte Befehle

Funktional ähnliche oder häufig zusammen verwendete Befehle.


Gleiche Kategorie Befehle