{{tag>sysadmin linux commande od}}
====== La commande od ======
**od** pour **O**ctal **D**ump permet d'afficher des valeurs binaires sur le terminal en spécifiant le formatage a utiliser:
===== Le formatage par défaut =====
Lors d'un appel sans arguments, le formatage suivant est utilisé:
od -A o -t oS -w16
* **-A o** Affichage des adresses en Octal
* **-t oS** valeurs en Octal la taille du mot est la taille d'un short
* **-w16** 16 mots par ligne
===== Exemples d'utilisations =====
$ echo "0123456789abcde" | od -A x -t x1 -w1
La chaîne est transmise à **od**, on choisit d'afficher un mot par ligne avec l' affichage des adresses en hexadécimal. Chaque mot est un Octet, sa valeur est présentée en hexadécimal.
Les arguments utilisés ici:
^ -A | Format de l'adressage: x(Hexadécimal, d(Décimal), o(Octal), n(None) |
^ -t | Formatage des valeurs: x1, 1 Octet, valeur en hexadécimal |
^ -w | width ou profondeur: nombre d'unités par ligne ici 1 octet par ligne |
L'affichage obtenu:
000000 30
000001 31
000002 32
000003 33
000004 34
000005 35
000006 36
000007 37
000008 38
000009 39
00000a 61
00000b 62
00000c 63
00000d 64
00000e 65
00000f 0a
000010
Pour afficher 16 Octets par lignes sans l'adressage:
$ od -An -tx1 -w16
Ajouter l'argument **z** en suffixe de n'importe quel formatage permet d'afficher les caractères imprimables à la fin chaque ligne en sortie.
$ od -A x -t x1z -w7 test.txt
000000 6c 69 67 6e 65 31 0a >ligne1.<
000007 6c 69 67 6e 65 32 0a >ligne2.<
00000e 6c 69 67 6e 65 33 0a >ligne3.<
000015 6c 69 67 6e 65 34 0a >ligne4.<
00001c 6c 69 67 6e 65 35 0a >ligne5.<
000023 6c 69 67 6e 65 36 0a >ligne6.<
Dans l'exemple ci-dessus l'adressage des mots est affiché sous forme hexadécimale ( **%%-A x%%** ). La sortie produira des mots d' 1 Octet dont la valeur est représentée en hexadécimal ( **%%-t x1%%** ) et représentera en plus les caractère imprimables ( **%%-t x1z%%** ). Chaque ligne de sortie a une profondeur de 7 mots ( **%%-w7%%** ). Les données sont lues à partir du fichier ''test.txt''.