Cmp (Unix)

CMP
Cmp-example-command-gimp.gif
Beispiel Verwendung von cmp Um verschiedene Bytes zwischen 2 TXT -Dateien zu finden
Originalautor (en) Dennis Ritchie
(AT & T Bell Laboratories)
Entwickler (en) Verschiedene Open Source und kommerziell Entwickler
Erstveröffentlichung 3. November 1971; vor 50 Jahren
Geschrieben in Plan 9: C
Betriebssystem Unix, Unix-artig, Plan 9, Inferno, OS-9, Ibm i
Typ Befehl
Lizenz CoreUtils: GPLV3+
Plan 9: MIT -Lizenz

Im Computer, CMP ist ein Befehlszeile Nützlichkeit auf Unix und Unix-artig Betriebssysteme Das vergleicht zwei Dateien irgendeiner Art und schreibt die Ergebnisse an die Standardausgabe. Standardmäßig, CMP Ist es still, wenn die Dateien gleich sind; Wenn sie sich unterscheiden, die Byte und Zeilennummer, bei der der erste Unterschied aufgetreten ist. Der Befehl ist auch in der erhältlich OS-9 Hülse.[1]

Geschichte

cmp ist Teil von X/offen Portabilitätshandbuch seit Ausgabe 2 von 1987. Es wurde in die erste Version von POSIX.1 und der geerbt Einzel -Unix -Spezifikation.[2] Es erschien zuerst in Version 1 Unix.[3] Die Version von CMP gebündelt GNU CoreUtils wurde von Torbjorn Granlund und David Mackenzie geschrieben.[4] Der Befehl ist als separates Paket für Microsoft Windows als Teil der verfügbar Unxutils Sammlung von einheimisch Win32 Häfen von gemeinsamen GNU-Unix-ähnlichen Versorgungsunternehmen.[5] Das CMP Der Befehl wurde auch auf die portiert Ibm i Betriebssystem.[6]

Schalter

CMP kann durch die Verwendung von qualifiziert werden Befehlszeilenschalter. Die Schalter, die durch bemerkenswerte Implementierungen von unterstützt werden CMP sind:

Name Beschreibung Unix Plan 9 Inferno Freebsd Linux Ibm i
-B,-Druckbilde Drucken Sie die unterschiedlichen Bytes. Zeigen Sie Steuerbytes als '^"Gefolgt von einem Buchstaben des Alphabets und von Bytes, die das hohe Bit mit festgelegt haben"M-' (welches dafür steht "Meta"). Nein Nein Nein Nein Ja Nein
-h Befolgen Sie keine symbolischen Links. Nein Nein Nein Ja Nein Nein
-Ich überspringen,-ignorieren initial = überspringen Überspringen Sie die ersten Überspring -Bytes der Eingabe. Nein Nein Nein Nein Ja Nein
-I ich überspringen1: Skip2,-Ignore-initial = Skip1: Skip2 Überspringen Sie die ersten Skip1 -Bytes von Datei1 und die ersten Skip2 -Bytes von Datei2. Nein Nein Nein Nein Ja Nein
-l,-ausführlich Ausgabe die (Dezimal-) Byte -Zahlen und (Oktal-) Werte aller unterschiedlichen Bytes anstelle der Standard -Standardausgabe. Ausgabe der EOF -Nachricht auch, wenn eine Datei kürzer ist als die andere. Ja Ja Ja Ja Ja Ja
-L Drucken Sie die Zeilennummer des ersten unterschiedlichen Byte. Ja Ja Ja Nein Nein Nein
-n limit,-bytes = limit Vergleichen Sie bei den meisten Limit Bytes. Nein Nein Nein Nein Ja Nein
-S,-ruhig,-still Nichts ausgeben; Nur der Ausstiegsstatus ergeben. Ja Ja Ja Ja Ja Ja
-t Textmodus, in dem die Dateien im Textmodus geöffnet und in die übersetzt werden Ccsid des Jobs vor dem Vergleich von Byte für Byte. Nein Nein Nein Nein Nein Ja
-V,-Version Ausgabeversionsinformationen. Nein Nein Nein Nein Ja Nein
-x Wie -l, druckt aber in hexadezimal und verwenden null als Index für das erste Byte in den Dateien. Nein Nein Nein Ja Nein Nein
-Z Für reguläre Dateien vergleichen Sie zuerst die Dateigrößen und fehlen den Vergleich, wenn sie nicht gleich sind. Nein Nein Nein Ja Nein Nein
--Hilfe Gibt eine Hilfedatei aus. Nein Nein Nein Nein Ja Nein

Operanden, die Bytezahlen sind, sind normalerweise dezimal, können jedoch jedoch von vorangestellt werden.0"Für Oktal und"0x'Für Hexadezimal.

Auf eine Byte -Anzahl kann ein Suffix folgen, um ein Vielfaches dieser Zählung anzugeben. In diesem Fall wird eine ausgelassene Ganzzahl als 1. Ein bloßem Buchstaben oder eines gefolgt von 'verstanden'ib", Gibt ein Mehrfaches mit Kräften von 1024 an. Ein Größenbuchstaben, gefolgt von", anschließend "BGibt stattdessen Kräfte von 1000 an. Zum Beispiel, '-n 4m' und '-n 4mib"sind gleich '-n 4194304', wohingegen '-n 4mb' ist äquivalent zu '-n 4000000'. Diese Notation ist nach oben kompatibel mit den SI -Präfixen[7] Für Dezimalzeitläufe und mit den IEC 60027-2 Präfixen für binäre Multiples.[8]

Rückgabewerte

  • 0 - Dateien sind identisch
  • 1 - Dateien unterscheiden sich
  • 2 - unzugängliches oder fehlendes Argument

Siehe auch

Verweise

  1. ^ Paul S. Dayan (1992). Der OS -9 -Guru - 1: Die Fakten. Galaktische Industrial Limited. ISBN 0-9519228-0-7.
  2. ^ printf- Shell and Utilities Referenz, Die einzelne Unix -Spezifikation, Version 4 von Die offene Gruppe
  3. ^ CMP (1)- -Freebsd Allgemeine Befehle Handbuch
  4. ^ "CMP (1): Vergleichen Sie zwei Dateien Byte nach Byte - Linux Man Page". Linux.die.net.
  5. ^ "Native Win32 -Ports einiger GNU -Dienstprogramme". Unxutils.SourceForge.net.
  6. ^ IBM. "IBM System I Version 7.2 Programmierung Qshell" (PDF). Abgerufen 2020-09-05.
  7. ^ "Willkommen - bipm".
  8. ^ "Definitionen der SI -Einheiten: die binären Präfixe". Physik.nist.gov. Abgerufen 21. April 2018.

Externe Links