Zum Inhalt springen

Od: Unterschied zwischen den Versionen

Aus Foxwiki
Zeile 219: Zeile 219:
=== ANZAHL ===
=== ANZAHL ===
ANZAHL ist mit dem Präfix 0x oder 0X hexadezimal und kann ein multiplizierendes Suffix enthalten
ANZAHL ist mit dem Präfix 0x oder 0X hexadezimal und kann ein multiplizierendes Suffix enthalten
{| class="wikitable sortable options gnu big"
{| class="wikitable sortable options big col1center"
|-
|-
! Unix !! Beschreibung
! Unix !! Beschreibung

Version vom 13. Oktober 2025, 10:50 Uhr

od - Dateien im oktalen, hexadezimalen oder in anderen Formaten anzeigen (octal dump)

Beschreibung

od (octal dump) wird benutzt, um eine Datei als dezimalen, oktalen oder hexadezimalen Dump auszugeben

od liest die angegebenen Dateien und gibt die Bytes formatiert und kodiert auf die Standardausgabe

  • Jede Ausgabezeile enthält in der ersten Spalte die Positionsnummer des ersten in der Zeile dargestellten Bytes (vom Dateianfang gezählt)
Standardeingabe
  • oder die Standardeingabe (wenn keine Datei oder anstelle einer Datei `-' angegeben ist)

In den darauffolgenden Spalten werden die Daten aus der Datei in einem durch die Optionen kontrollierten Format angezeigt

  • In der Standardeinstellung ohne Optionen gibt od die Position als 7-stellige Oktalzahl und die Daten in 8 Spalten zu je zwei Bytes in oktaler Darstellung aus
  • Dieser Befehl wird häufig zur Visualisierung der Daten verwendet, die nicht in einem von Menschen lesbaren Format sind, wie der ausführbare Code eines Programm

Eine eindeutige Darstellung der DATEI, in der Voreinstellung oktale Byte, auf der Standardausgabe ausgeben

  • Bei mehr als einem Argument DATEI werden die Dateien in der angegebenen Reihenfolge verkettet, um die Eingabe zu bilden
  • liest ohne DATEI oder wenn DATEI - ist, aus der Standardeingabe

Wenn die erste und zweite Aufrufform beide zutreffen, wird das zweite Format angenommen, wenn der letzte Operand mit + oder (wenn es zwei Operanden gibt) einer Ziffer anfängt

  • Ein VERSATZ‐Operand bedeutet -j VERSATZ
  • MARKE ist die Pseudoadresse des ersten ausgegebenen Bytes; sie wird erhöht, während die Ausgabe fortschreitet
  • Bei VERSATZ und MARKE bedeutet ein »0x«‐ oder »0X«‐Präfix hexadezimal; Suffixe können ».« für oktal und »b« für die Multiplikation mit 512 sein

Installation

od ist Teil der GNU Core Utilities

Anwendung

Ausgabe

Hexadezimal
echo Guten Tag | od -x
 0000000 7547 6574 206e 6154 0a67 0000012
Dezimal
echo Guten Tag | od -i
 wird in dezimalzahl angezeigt
 0000000 1702131015 1632903278 2663 0000012
Oktadezimal
echo Guten Tag | od
 0000000 072507 062564 020156 060524 005147 0000012

Beispiele

Hexdump-Format-Ausgabe anzeigen

od -A x -t x1z -v

Das Standardausgabeformat von od

od -A o -t oS -w16


Aufruf

od [OPTION] [DATEI]od [-abcdfilosx] [DATEI] [[+]VERSATZ[.][b]]
od --traditional [OPTION] [DATEI] [[+]VERSATZ[.][b] [+][MARKE][.][b]]
od [-abcdfhiloxv] [-s [Länge]] [-w [Anzahl]] [-A Positionsformat] [-j Anzahl] [-N Anzahl] [-t Format] [-skip-bytes=Anzahl] [-address-radix=Positionsformat] [-read-bytes=Anzahl][-format=Format] [-output-duplicates] [-strings[=Anzahl]] [-width[=Anzahl]] [Datei ...]

Optionen

Unix GNU Parameter Beschreibung
-A Positionsformat zeigt die Position des ersten in einer Zeile dargestellten Bytes im Positionsformat; die folgenden Formate stehen zur Auswahl

-d siebenstellige Dezimalzahl

-o siebenstellige Oktalzahl (Voreinstellung)

-x sechsstellige Hexadezimalzahl

-n keine Positionsangabe

-j Anzahl überspringt die ersten Anzahl Bytes der Datei und beginnt erst danach mit der Ausgabe; wenn die Zahl mit `0x' oder `0X' beginnt, wird sie als Hexadezimalzahl interpretiert, beginnt sie mit einer Null, wird sie als Oktalzahl behandelt, sonst als Dezimalzahl; der Zahl kann einer der Buchstaben b (blocks=512), k (kilo=1024) oder m (mega=1048576) folgen, die die Anzahl mit den entsprechenden Einheiten multiplizieren
-N Anzahl gibt nur die angegebene Anzahl Bytes von der Datei aus; die Anzahl kann wie bei der `-j' Option von einer Einheit gefolgt werden
-t Format wählt die Codierung für die Datenausgabe; wenn die -t Option mehrfach benutzt wird oder mehrere Formate gleichzeitig angegeben werden, gibt od für jedes Format jeweils eine entsprechende Zeile aus; folgende Formate werden unterstützt

a (ascii) setzt das achte Datenbit aller Zeichen auf null, die druckbaren ASCII Zeichen werden als solche ausgegeben, und die nichtdruckbaren Steuerzeichen werden mit ihren in der ASCII Tabelle verwendeten ``Namen bezeichnet; so wird das Zeilenende als CR bezeichnet, ein horizontaler Tabulator mit TAB und so weiter

c (character) gibt die druckbaren ASCII Zeichen als solche aus, die nichtdruckbaren Zeichen werden, sofern möglich, als Backslashsequenz ausgegeben; \f ist hier beispielsweise ein Zeilenende, \t ein Tabulator und so weiter; Bytes die nicht druckbar sind und auch nicht als Backslashsequenz ausgegeben werden können, werden als Oktalzahl dargestellt

d (decimal) gibt die Daten als vorzeichenbehaftete Dezimalzahlen aus; voreingestellt sind vier Bytes je Dezimalzahl

f (float) gibt die Daten als Fließkommazahlen aus; voreingestellt sind acht Bytes je Fließkommazahl

o (octal) gibt die Daten als Oktalzahlen aus; voreingestellt sind vier Bytes je Oktalzahl u (unsigned) gibt die Daten als vorzeichenlose Dezimalzahl aus; voreingestellt sind vier Bytes je Dezimalzahl

x (heX) gibt die Daten als Hexadezimalzahlen aus; voreingestellt sind vier Bytes je Hexadezimalzahl

Außer die Typen a und c, die immer einzelne Bytes anzeigen, kann die Anzahl der Bytes, die in jeweils eine Zahl des bestimmten Typs umgewandelt werden sollen, durch eine dem Typkennzeichner unmittelbar folgende Zahl bestimmt werden

  • Die Anzahl der Bytes je Zahl kann auch durch Buchstabenkennungen angegeben werden, die den C-Datentypen entsprechen
  • Für die Ganzzahltypen (d, u, x, o) gibt es die folgenden Möglichkeiten

C (Char) ist ein Byte lang

S (Short) ist zwei Bytes lang

I (Integer) ist vier Bytes lang

L (Long) ist auch vier Bytes lang

für Fließkommazahlen können die folgenden Optionen verwendet werden

F (Float) ist vier Bytes lang

D (Double) ist acht Bytes lang

L (Long Double) ist auch acht Bytes lang

-v gibt auch die doppelten Zeilen aus; normalerweise werden ganze Zeilen, die der zuletzt angezeigten Zeile vollständig entsprechen, durch ein Asterisk '*' dargestellt
-s [Länge] gibt nur die gültigen C-Zeichenketten (Folgen von druckbaren ASCII Zeichen, durch ein Nullbyte beendet) mit mindestens der angegebenen Länge aus; Voreinstellung für Länge ist drei Zeichen
-w [Anzahl] setzt die Anzahl der umgewandelten Bytes, die in einer Zeile ausgegeben werden; die Anzahl muss ein vielfaches der Länge jedes Ausgabetyps sein; Voreinstellung ist 16

Die folgenden Optionen übersetzen die nicht dem POSIX Format entsprechenden alten Optionen in die neuen, dem POSIX Standard entsprechenden Optionen, wie sie oben aufgeführt sind

-a gibt benannte ASCII Zeichen aus, wie -t a
-b gibt die Daten Byteweise als Oktalzahlen aus, wie -t oC
-c gibt druckbare Zeichen oder Backslashsequenzen aus, wie -t c
-d gibt die Daten als vorzeichenlose kurze Dezimalzahlen aus, wie -t u2
-f gibt die Daten als Fließkommazahlen mit vier Bytes je Zahl aus, wie -t fF
-h gibt die Daten als vierstellige Hexadezimalzahl aus, wie -t xL
-i gibt die Daten als vorzeichenbehaftete Dezimalzahl mit zwei Bytes je Zahl aus, wie -t d2
-l gibt die Daten als vorzeichenbehaftete Dezimalzahl mit vier Bytes je Zahl aus, wie -t dL
-o gibt die Daten als Oktalzahlen mit zwei Bytes je Zahl aus, wie -t oS
-x gibt die Daten als Hexadezimalzahlen mit zwei Bytes je Zahl aus, wie -t x2

Formatspezifikationen

Traditionelle Formatspezifikationen können gemischt werden; sie werden gesammelt
Unix Beschreibung
-a Dasselbe wie -t a, benannte Zeichen auswählen, signifikantestes Bit ignorieren
-b Dasselbe wie -t o1, oktale Byte auswählen
-c Dasselbe wie -t c, druckbare Zeichen oder Rückschrägstrich‐Markierungen auswählen
-d Dasselbe wie -t u2, vorzeichenlose dezimale 2‐Byte‐Einheiten auswählen
-f Dasselbe wie -t fF, Gleitkommazahlen auswählen
-i Dasselbe wie -t dI, dezimale »int«s auswählen
-l Dasselbe wie -t dL, dezimale »long«s auswählen
-o Dasselbe wie -t o2, oktale 2‐Byte‐Einheiten auswählen
-s Dasselbe wie -t d2, dezimale 2‐Byte‐Einheiten auswählen
-x Dasselbe wie -t x2, hexadezimale 2‐Byte‐Einheiten auswählen

TYP

TYP setzt sich aus einer oder mehrerer dieser Spezifikationen zusammen

Unix Beschreibung
a Benanntes Zeichen, signifikantestes Bit ignorieren
c Druckbares Zeichen oder Rückschrägstrich‐Markierung
d[GRÖSSE] Dezimal mit Vorzeichen, GRÖSSE Byte pro Ganzzahl
f[GRÖSSE] Gleitkomma, GRÖSSE Byte pro Fließkommazahl
o[GRÖSSE] Oktal, GRÖSSE Byte pro Ganzzahl
u[GRÖSSE] Dezimal ohne Vorzeichen, GRÖSSE Byte pro Ganzzahl
x[GRÖSSE] Hexadezimal, GRÖSSE Byte pro Ganzzahl

GRÖSSE ist eine Zahl. Wenn TYP einer aus [doux] ist, kann GRÖSSE auch »C« für sizeof(char), »S« für sizeof(short), »I« für sizeof(int) oder »L« für sizeof(long) sein. Wenn TYP »f« ist, kann GRÖSSE auch »B« für Brain 16 bit, H für halb genaue Fließkommazahl, »F« für sizeof(float), »D« für sizeof(double) oder »L« für sizeof(long double) sein

Durch das Anhängen des Suffix »z« an einen Typ werden druckbare Zeichen am Ende jeder Ausgabezeile angezeigt

ANZAHL

ANZAHL ist mit dem Präfix 0x oder 0X hexadezimal und kann ein multiplizierendes Suffix enthalten

Unix Beschreibung
b 512
KB 1000
K 1024
MB 1000*1000
M 1024*1024

Für G, T, P, E, Z, Y, R, Q. Binäre Präfixe können ebenfalls verwendet werden: KiB=K, MiB=M, …

Exit-Status

Wert Beschreibung
0 Erfolg
>0 Fehler

Anhang

Siehe auch



Dokumentation

Man-Page
  1. od(1)

Links

Projekt

Weblinks