HEXDUMP(1) | Dienstprogramme für Benutzer | HEXDUMP(1) |
hexdump - Dateiinhalte hexadezimal, dezimal, oktal oder in ASCII ausgeben
hexdump [Optionen] Datei …
Das Dienstprogramm hexdump ist ein Filter, der in einem benutzerspezifischen Format die angegebenen Dateien oder den Inhalt der Standardeingabe anzeigt (falls keine Dateien angegeben sind).
Nachfolgend können den Argumenten Größe und Versatz die multiplikativen Suffixe KiB (=1024), MiB (=1024*1024) und so weiter für GiB, TiB, PiB, EiB, ZiB und YiB folgen (das »iB« ist optional, zum Beispiel ist »K« gleichbedeutend mit »KiB«) oder die Suffixe KB (=1000), MB (=1000*1000) und so weiter für GB, TB, PB, EB, ZB und YB folgen.
Für jede Eingabedatei kopiert hexdump die Eingabe sequenziell in die Standardausgabe, wobei die Daten anhand der in den Optionen -e und -f angegebenen Formatzeichenketten in deren angegebener Reihenfolge umgewandelt werden.
Eine Formatzeichenkette enthält eine beliebige Anzahl an Formatierungseinheiten, die durch Leerzeichen getrennt sind. Eine Formatierungseinheit einhält bis zu drei Einträge: Einen Iterationszähler, einen Byte-Zähler und ein Format.
Der Iterationszähler ist eine optionale positive Ganzzahl, deren Vorgabe 1 ist. Jedes Format wird so oft angewendet, wie der Iterationszähler angibt.
Der Byte-Zähler ist eine optionale positive Ganzzahl. Falls diese angegeben wird, gibt sie die Anzahl an Bytes an, die bei jeder Iteration des Formats interpretiert werden sollen.
Falls ein Iterations- oder Byte-Zähler angegeben ist, muss nach dem Iterationszähler und/oder vor dem Byte-Zähler ein einzelner Schrägstrich gesetzt werden, um die beiden Angaben eindeutig voneinander zu trennen. Sämtlicher Leerraum vor oder nach dem Schrägstrich wird ignoriert.
Das Format ist verpflichtend und muss in doppelte Anführungszeichen (" ") eingeschlossen werden. Es wird als eine Formatzeichenkette im Fprintf-Stil (siehe fprintf(3)) mit den folgenden Ausnahmen interpretiert:
Das Dienstprogramm hexdump unterstützt auch die folgenden zusätzlichen Konversionszeichenketten.
000 nul | 001 soh | 002 stx | 003 etx | 004 eot | 005 enq |
006 ack | 007 bel | 008 bs | 009 ht | 00A lf | 00B vt |
00C ff | 00D cr | 00E so | 00F si | 010 dle | 011 dc1 |
012 dc2 | 013 dc3 | 014 dc4 | 015 nak | 016 syn | 017 etb |
018 can | 019 em | 01A sub | 01B esc | 01C fs | 01D gs |
01E rs | 01F us | 0FF del |
Wenn an das Ende eines Formatbezeichners gesetzt, hebt hexdump die jeweilige Zeichenkette in der angegebenen Farbe hervor. Bedingungen werden, sofern vorhanden, bei der Anwendung der Hervorhebung bevorzugt.
_L[Farbeinheit_1,Farbeinheit_2,…,Farbeinheit_n]
Die vollständige Syntax einer Farbeinheit ist wie folgt:
[!]FARBE[:WERT][@VERSATZ_BEGINN[-ENDE]]
Die vorgegebenen und unterstützten Byte-Zähler für die Konversionszeichen sind wie folgt:
Die Menge der von jeder Formatzeichenkette interpretierten Daten ist die Summe der für jede Formateinheit erforderlichen Daten, welches das Produkt aus dem Iterationszähler mit dem Byte-Zähler oder, falls der Byte-Zähler nicht angegeben ist, das Produkt aus dem Iterationszähler mit der Anzahl vom Format benötigten Bytes ist.
Die Eingabe wird in Blöcken verarbeitet, wobei ein Block als die größte Menge der von einer Formatzeichenkette bezeichneten Daten definiert ist. Bei Formatzeichenketten, die weniger als eine Eingabeblockgröße an Daten auswerten und deren letzte Formateinheit sowohl einen Anteil an Bytes interpretiert und als auch keinen angegebenen Iterationszähler haben, wird der Iterationszähler erhöht, bis der gesamte Eingabeblock verarbeitet wurde oder es nicht mehr genug verbleibende Daten im Block gibt, um der Formatzeichenkette zu entsprechen.
Falls ein Iterationszähler größer als 1 ist, entweder als Ergebnis der Benutzerangabe oder wenn hexdump den Iterationszähler wie oben beschrieben verändert hat, werden während der letzten Iteration keine abschließenden Leerzeichen ausgegeben.
Es ist ein Fehler, sowohl einen Byte-Zähler als auch mehrere Konversionszeichen oder -zeichenketten anzugeben, es sei denn, alle Konversionszeichen oder -zeichenketten bis auf eine sind _a oder _A.
Falls, als Ergebnis der Angabe der Option -n oder wenn das Ende der Datei erreicht ist, die Eingabedaten einer Formatzeichenkette nur teilweise entsprechen, wird der Eingabeblock mit Nullen aufgefüllt, um alle verfügbaren Daten anzuzeigen (das heißt, jede Formateinheit, die über das Ende der Daten hinausgeht, zeigt einige NULL-Bytes an).
Weitere Ausgaben solcher Formatzeichenketten werden durch die äquivalente Anzahl Leerzeichen ersetzt. Eine äquivalente Anzahl Leerzeichen ist als die Anzahl der durch das Konversionszeichen s ausgegebenen Leerzeichen definiert. Diese haben die gleiche Feldbreite und Genauigkeit wie das ursprüngliche Konversionszeichen oder die ursprüngliche Konversionszeichenkette, aber bei allen werden die Konversionszeichen »+«, » « und »#« entfernt und referenzieren eine NULL-Zeichenkette.
Falls keine Formatzeichenketten angegeben sind, ist die standardmäßige Anzeige sehr ähnlich zum Ausgabeformat mit der Option -x (die Option -x verursacht mehr Platzverbrauch zwischen den Formateinheiten als in der standardmäßigen Ausgabe).
hexdump gibt 0 bei Erfolg und >0 zurück, wenn ein Fehler aufgetreten ist.
Der Befehl hexdump sollte zu IEEE Std 1003.2 (»POSIX.2«) kompatibel sein.
Die Eingabe im Durchsichtsformat anzeigen:
"%06.6_ao " 12/1 "%3_u "
"\t\t" "%_p "
"\n"
Die Option -x implementieren:
"%07.7_Ax\n"
"%07.7_ax " 8/2 "%04x " "\n"
Beispiel für MBR-Bootsignatur: Die Adressen in Cyan hervorheben und die Bytes an Position 510 und 511 grün hervorheben, falls deren Wert 0xAA55 ist, anderenfalls rot.
"%07.7_Ax_L[cyan]\n"
"%07.7_ax_L[cyan] " 8/2 " %04x_L[green:0xAA55@510-511,!red:0xAA55@510-511] " "\n"
Implizite Einfärbung kann durch eine leere Datei /etc/terminal-colors.d/hexdump.disable erreicht werden.
Siehe terminal-colors.d(5) für weitere Details zur Konfiguration der farblichen Darstellung.
Der Befehl hexdump ist Teil des Pakets util-linux, welches aus dem Linux Kernel-Archiv heruntergeladen werden kann.
Die deutsche Übersetzung dieser Handbuchseite wurde von Mario Blättermann <mario.blaettermann@gmail.com> erstellt.
Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen.
Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die Mailingliste der Übersetzer.
April 2013 | util-linux |