od (Unix)
od software | |
---|---|
Genere | Utility |
Sviluppatore | AT&T Bell Laboratories |
Data prima versione | 3 novembre 1971 |
Sistema operativo | Multipiattaforma |
Licenza | (licenza libera) |
od è un comando presente su vari sistemi operativi per visualizzare ("scaricare") i dati in vari formati di output leggibili dall'uomo. Il nome è un acronimo di "octal dump" poiché per impostazione predefinita viene stampato nel formato dati ottale.
Panoramica
[modifica | modifica wikitesto]Il comando od
può visualizzare l'output in una varietà di formati, inclusi ottale, esadecimale, decimale e ASCII.
È utile per visualizzare dati che non sono in un formato leggibile dall'uomo, come il codice eseguibile di un programma, o dove la forma primaria è ambigua (ad esempio alcuni caratteri latini, greci e cirillici sembrano simili).
Il comando od
è uno dei primi programmi Unix, apparso nella versione 1 AT&T Unix. È anche specificato negli standard POSIX. L'implementazione di od
usata sui sistemi Linux è solitamente fornita da GNU Core Utilities.
Poiché precede la shell Bourne, la sua esistenza causa un'incoerenza nella sintassi del ciclo do
. Altri cicli e blocchi logici vengono aperti dal nome e chiusi dal nome invertito, ad esempio if ... fi
e case ... esac
, tuttavia l'esistenza di od
comporta la necessità di definire la chiusura del ciclo do
con done
, così: do ... done
.
Il comando od
è stato anche portato sul sistema operativo IBM i.[1]
Sessione di esempio
[modifica | modifica wikitesto]Normalmente un dump di un file eseguibile è molto lungo. Il comando head
stampa le prime righe dell'output. Ecco un esempio di dump del programma "Hello world", convogliato attraverso head.
% od hello | head
0000000 042577 043114 000401 000001 000000 000000 000000 000000
0000020 000002 000003 000001 000000 101400 004004 000064 000000
0000040 003610 000000 000000 000000 000064 000040 000006 000050
0000060 000033 000030 000006 000000 000064 000000 100064 004004
0000100 100064 004004 000300 000000 000300 000000 000005 000000
0000120 000004 000000 000003 000000 000364 000000 100364 004004
0000140 100364 004004 000023 000000 000023 000000 000004 000000
0000160 000001 000000 000001 000000 000000 000000 100000 004004
0000200 100000 004004 002121 000000 002121 000000 000005 000000
0000220 010000 000000 000001 000000 002124 000000 112124 004004
Ecco un esempio di od
utilizzato per diagnosticare l'output di echo
cui l'utente digita Ctrl+V+Ctrl+I e Ctrl+V+Ctrl+C dopo aver scritto "Hello" per inserire letteralmente una tabulazione e il carattere di controllo ^C
:
% echo "Hello ^C" | od -cb
0000000 H e l l o \t 003 \n
110 145 154 154 157 011 003 012
0000010
Note
[modifica | modifica wikitesto]- ^ (EN) IBM, System i 7.2, Programming Qshell, su ibm.com, p. 104. URL consultato il 5 settembre 2020.