Od (Unix)
# Od (Unix)

Das Unix-Kommando od dient zur Erstellung eines Dumps in verschiedenen für Menschen lesbaren Formaten. Der Name leitet sich aus dem Akronym „octal dump“ ab, da der Befehl per Default die Daten im Oktalsystem ausgibt.

Neben dem oktalen gibt od Daten optional unter anderem auch im hexadezimalen und dezimalen Zahlensystem sowie in ASCII aus.

## Beispiele

### Ausführbare Dateien

od hilft bei der Visualisierung von Daten mit nicht menschlich-lesbaren Format wie z. B. die ausführbaren Dateien eines Programms. Der Dump einer solchen ausführbaren Datei produziert für gewöhnlich einen sehr langen Output. Die Weiterleitung der ursprünglichen Ausgabe mit der Unix-Pipeline | in den head-Befehl bietet sich daher an. Dieser gibt nur die ersten Zeilen der oktalen Darstellung des Hello-world-Programms hello aus:

### Zeichenketten

Der od-Befehl erleichtert die Untersuchung von Zeichenketten mit unsichtbaren Zeichen wie unabsichtlich ausgegebenen Steuerungstasten (^) in der Kommandozeile. Letzteres ist ein häufiger Leichtsinnsfehler durch die bei der grafischen Benutzeroberfläche gewohnten Tastenkombinationen Strg+C und Strg+V für Kopieren und Einfügen. Im Beispiel gibt der echo-Befehl die Zeichenkette „Hallo“, einen Tab (Strg+V und Strg+I) und ein Steuerzeichen mit anschließendem Zeichen „C“ (Strg+V und Strg+C) aus. Die Unix-Pipeline leitet schließlich das Ergebnis in den od-Befehl weiter:

Die Optionen b und c aktivieren dabei das Auslesen und die Ausgabe für die oktale Schreibweise inklusive der Steuerzeichen pro Zeichen.

## Geschichte

od ist eines der frühesten Unix-Programme von Version 1 AT&T Unix und Teil des POSIX-Standards. Linux-Systeme stellten od für gewöhnlich durch die GNU Core Utilities bereit. Seine Anfänge datieren vor der Einführung der Bourne-Shell, weswegen sein Gebrauch Inkonsistenzen mit der Syntax von do-Loops verursacht. Schleifen und logische Einheiten öffnen für gewöhnlich mit Namen und schließen mit umgekehrten Namen ab, z. B.: if ... fi und case ... esac. Der Gebrauch von od erfordert jedoch die Verwendung der Syntax do ... done.

