Cmp (Unix)
Originalautor (en) | Dennis Ritchie (AT & T Bell Laboratories) |
---|---|
Entwickler (en) | Verschiedene Open Source und kommerziell Entwickler |
Erstveröffentlichung | 3. November 1971 |
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 "B
Gibt 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
- ^ Paul S. Dayan (1992). Der OS -9 -Guru - 1: Die Fakten. Galaktische Industrial Limited. ISBN 0-9519228-0-7.
- ^ Die einzelne Unix -Spezifikation, Version 4 von Die offene Gruppe - Shell and Utilities Referenz,
- ^ Freebsd Allgemeine Befehle Handbuch - -
- ^ "CMP (1): Vergleichen Sie zwei Dateien Byte nach Byte - Linux Man Page". Linux.die.net.
- ^ "Native Win32 -Ports einiger GNU -Dienstprogramme". Unxutils.SourceForge.net.
- ^ IBM. "IBM System I Version 7.2 Programmierung Qshell" (PDF). Abgerufen 2020-09-05.
- ^ "Willkommen - bipm".
- ^ "Definitionen der SI -Einheiten: die binären Präfixe". Physik.nist.gov. Abgerufen 21. April 2018.
Externe Links
- Die einzelne Unix -Spezifikation, Version 4 von Die offene Gruppe : Vergleichen Sie zwei Dateien - Shell and Utilities Referenz,
- Vergleich und Zusammenführen von Dateien: CMP aufrufen Der Abschnitt des Handbuchs von GNU CMP in der Diffutile Kostenloses Handbuch.