Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

hd - Dateiinhalt hexadezimal ausgeben

&pagelevel(4)&pagelevel

(hex dump)


hd gibt den Inhalt von Dateien hexadezimal, oktal, dezimal oder als Zeichenfolge aus. Die Lage von Zeichen innerhalb eines Zeichensatzes ist ebenfalls darstellbar.


Syntax


hd[ -format]...[ -A][ -t][ -s offset[*][wlbk]][ -n zähler[*][wlbk]][ datei]...

Weder Format noch Offset noch Zähler angegeben

hd ist identisch mit hd -abx -A. D.h., Adressen und Bytes werden hexadezimal ausgegeben.
Zusätzlich gibt hd alle Bytes, die druckbare Zeichen darstellen, als solche aus und schreibt für die nichtdruckbaren einen Punkt. Dabei stehen die Adressen am Anfang jeder Zeile, die Hexadezimaldarstellung der Bytes folgt in den nächsten Spalten und die Darstellung als Buchstaben bzw. Punkt steht in jeder Zeile ganz rechts.

Die Adressen werden relativ zum Dateianfang gezählt. Fehlt die Angabe einer Datei, dann wird von der Standard-Eingabe gelesen, sonst wird der Inhalt der angegebenen Dateien aufgelistet.

-format

Format, das festlegt, wie einzelne Byteblöcke interpretiert und ausgegeben werden sollen
(siehe Abschnitt „Formatbeschreibung“)

-A

(A - ASCII)

hd gibt alle druckbaren Zeichen aus, für nichtdruckbare Zeichen steht ein Punkt. Die Zeichen werden in der Spalte ausgegeben, die rechts auf das erste Ausgabeformat folgt.

-t

(t - text)

Ist diese Option gesetzt, dann ignoriert hd alle Formatangaben, die keine Adressen betreffen. hd druckt jede Textzeile mit der Adressangabe am Zeilenanfang aus. Zu lange Zeilen werden unterteilt. Kontrollzeichen (Wert 0x00 bis 0x1f) werden entsprechend als Zeichen ^@ bis ^_ ausgegeben. Bytes, bei denen das höchste Bit gesetzt ist, werden, mit einer Tilde ~ davor, ohne das höchste Bit ausgegeben. Den Zeichen Dach ^, Tilde ~ und Gegenschrägstrich \ wird bei der Ausgabe ein Gegenschrägstrich vorangestellt.

In Spezialfällen werden Werte numerisch repräsentiert, z.B. DELETE (127) 7-Bit als \177 und DELETE (255) 8-Bit als \377.

-s offset[*][wlbk]

Relative Adresse, ab der die Ausgabe des Dateiinhalts beginnen soll. Falls Sie keine Datei angeben oder über eine Pipe eingeben, werden entsprechend viele Bytes überlesen. hd bricht die Behandlung der aktuellen Datei ab, falls die Adressangabe fehlerhaft ist.

Die relative Adresse besteht aus einer Zahl, die Sie dezimal, hexadezimal (mit 0x davor) oder oktal (mit 0 davor) angeben und optional einer Maßeinheit, die Sie direkt an die Zahl anhängen.

Mögliche Einheiten sind:


w 2 Byte (d.h. ein Wort)
l 4 Byte (d.h. ein langes Wort)
b 512 Byte (d.h. ein halbes KByte)
k 1024 Byte (d.h. ein KByte)


Um eine Hexadezimalzahl, die ja die Ziffer b enthalten darf, von der Einheit b zu unterscheiden, schreiben Sie in diesem Fall zwischen die Zahl und die Einheit b einen Stern *.

Mögliche Offsetangaben sind z.B.:
-s 111 (111 Byte), -s 124l (496 Byte), -s 0xa*b (5120 Byte), -s 011k (9216 Byte).

-s offset[*][wlbk] nicht angegeben:
hd gibt ab Dateianfang aus.

-n zähler[*][wlbk]

Anzahl der Bytes, die hd ausgeben soll. Die Byte-Anzahl geben Sie ebenso wie die Relativadresse an: dezimal, hexadezimal oder oktal mit eventuell folgendem w, l, b oder k (siehe -s).

datei

Name der Datei, die hd auflisten soll. Pro Aufruf können Sie mehrere Dateinamen angeben.

datei nicht angegeben:
hd liest die Eingabezeilen von der Standard-Eingabe.

 

Formatbeschreibung

Ein Format setzt sich zusammen aus

  • der Byteblockangabe (a, b, c, l oder w) und

  • der Interpretationsart, gemäß der ein Byteblock auszugeben ist: hexadezimal (x), dezimal (d) oder oktal (o).

Innerhalb eines Formats werden sämtliche angegebenen Interpretationsarten auf alle angegebenen Byteblöcke angewendet. Formatangaben können zusammengesetzt und wiederholt werden, um Adressen, Zeichen, Wörter etc. verschieden auszugeben. Sie können z.B. -ax -bx zusammenfassen zu -abx. Oder Sie können mit -cxdo alle Zeichen hexadezimal, dezimal und oktal ausgeben lassen.


Byteblockangabe

a

(address)
Formatangabe für Adressen.
Adressen werden nur auf eine Art interpretiert, hexadezimal, oktal oder dezimal. Die Adresse steht immer am Anfang jeder auszugebenden Zeile bzw. in der ersten Zeile eines Ausgabeblocks, falls die Formate mehrere Zeilen beanspruchten.

b(byte)
Formatangabe für Bytes.

c

(character)
Formatangabe für Zeichen.
Alle druckbaren Zeichen werden ausgegeben. C-Escape-Zeichen gibt hd so aus, wie sie in der Sprache definiert sind und die restlichen Zeichen oktal, hexadezimal oder dezimal, je nach Interpretationsart.

l(long word)
Formatangabe für 4 Byte.

w

(word)
Formatangabe für 2 Byte.


Interpretationsart

x(hexadecimal)
hd interpretiert Adressen oder Byteblöcke als Hexadezimalzahlen.
d(decimal)
hd interpretiert Adressen oder Byteblöcke als Dezimalzahlen.

o

(octal)
hd interpretiert Adressen oder Byteblöcke als Oktalzahlen.


Keine Interpretationsart, aber Byteblockangabe angegeben:

hd interpretiert gemäß -xdo.

Keine Byteblockangabe, außer Adressen, angegeben:

hd verwendet zusätzlich zum angegebenen Adressformat -bx.

Keine Byteblockangabe, aber Interpretationsart angegeben:

hd interpretiert -acbwl.

-format nicht angegeben:

hd verhält sich wie hd -abx -A.

Siehe auch

od