GNU/Linux >> Tutoriels Linux >  >> Linux

Exemples de commandes Linux OD (vidage octal)

La commande od sous Linux est utilisée pour afficher le contenu d'un fichier dans différents formats, le format octal étant le format par défaut.

Cette commande est particulièrement utile lors du débogage de scripts Linux pour des modifications ou des caractères indésirables.

Cet article explique comment utiliser la commande od avec quelques exemples.

La syntaxe de base de cette commande est :

od [OPTION]... [FILE]...

1. Afficher le contenu du fichier au format octal en utilisant l'option -b

Voici le fichier d'entrée utilisé pour cet exemple :

$ cat input
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20

Exécutez maintenant la commande od sur ce fichier d'entrée.

$ od -b input
0000000 061 012 062 012 063 012 064 012 065 012 066 012 067 012 070 012
0000020 071 012 061 060 012 061 061 012 061 062 012 061 063 012 061 064
0000040 012 061 065 012 061 066 012 061 067 012 061 070 012 061 071 012
0000060 062 060 012
0000063

Nous voyons donc que la sortie a été produite au format octal. La première colonne de la sortie de od représente le décalage d'octet dans le fichier.

2. Afficher le contenu du fichier au format caractère à l'aide de l'option -c

En utilisant le même fichier d'entrée (comme dans l'exemple 1 ci-dessus).

$ od -c input
0000000   1  \n   2  \n   3  \n   4  \n   5  \n   6  \n   7  \n   8  \n
0000020   9  \n   1   0  \n   1   1  \n   1   2  \n   1   3  \n   1   4
0000040  \n   1   5  \n   1   6  \n   1   7  \n   1   8  \n   1   9  \n
0000060   2   0  \n
0000063

Nous voyons donc que la sortie a été produite au format caractère.

3. Afficher les décalages d'octets dans différents formats à l'aide de l'option -A

Le décalage d'octet peut être affiché dans l'un des formats suivants :

  • Hexadécimal (en utilisant -x avec -A)
  • Octal (en utilisant -o avec -A)
  • Décimal (en utilisant -d avec -A)

Voici les exemples de décalages dans différents formats :

$ od -Ax -c input
000000   1  \n   2  \n   3  \n   4  \n   5  \n   6  \n   7  \n   8  \n
000010   9  \n   1   0  \n   1   1  \n   1   2  \n   1   3  \n   1   4
000020  \n   1   5  \n   1   6  \n   1   7  \n   1   8  \n   1   9  \n
000030   2   0  \n
000033
$ od -Ad -c input
0000000   1  \n   2  \n   3  \n   4  \n   5  \n   6  \n   7  \n   8  \n
0000016   9  \n   1   0  \n   1   1  \n   1   2  \n   1   3  \n   1   4
0000032  \n   1   5  \n   1   6  \n   1   7  \n   1   8  \n   1   9  \n
0000048   2   0  \n
0000051
$ od -Ao -c input
0000000   1  \n   2  \n   3  \n   4  \n   5  \n   6  \n   7  \n   8  \n
0000020   9  \n   1   0  \n   1   1  \n   1   2  \n   1   3  \n   1   4
0000040  \n   1   5  \n   1   6  \n   1   7  \n   1   8  \n   1   9  \n
0000060   2   0  \n
0000063

Nous voyons donc que selon l'entrée fournie à l'option -A, la première colonne (qui contient le décalage d'octet) est affichée dans différents formats.

4. N'afficher aucune information de décalage à l'aide de l'option "-An"

Prenons l'exemple suivant :

$ od -An -c input
   1  \n   2  \n   3  \n   4  \n   5  \n   6  \n   7  \n   8  \n
   9  \n   1   0  \n   1   1  \n   1   2  \n   1   3  \n   1   4
  \n   1   5  \n   1   6  \n   1   7  \n   1   8  \n   1   9  \n
   2   0  \n

Nous voyons donc que les informations relatives au décalage d'octet n'étaient pas affichées.

5. Afficher la sortie après avoir sauté quelques octets

Ceci est réalisé en utilisant l'option -j. Voici un exemple :

$ od -j9 -c input
0000011  \n   6  \n   7  \n   8  \n   9  \n   1   0  \n   1   1  \n   1
0000031   2  \n   1   3  \n   1   4  \n   1   5  \n   1   6  \n   1   7
0000051  \n   1   8  \n   1   9  \n   2   0  \n
0000063

Si nous comparons la sortie ci-dessus avec la sortie de l'exemple 2, nous pouvons voir que les 9 octets initiaux ont été ignorés de la sortie.

6. Afficher un nombre limité d'octets dans la sortie à l'aide de l'option -N

C'est l'opposé de l'option -j discutée dans l'exemple 5 ci-dessus. Voici un exemple :

$ od -N9 -c input
0000000   1  \n   2  \n   3  \n   4  \n   5
0000011

Nous voyons donc que seuls 9 octets ont été affichés dans la sortie.

7. Afficher la sortie sous forme d'entiers décimaux à l'aide de l'option -i

Prenons l'exemple suivant :

$ od -i input
0000000   171051569   171182643   171313717   171444791
0000020   808520249   170995978   822751793   875629107
0000040   171258122   822752817   942737975   171520266
0000060      667698
0000063

Si nous combinons -i avec -b, cela donne plus d'informations sur la façon dont les entiers décimaux sont affichés. Voici un exemple :

$ od -ib input
0000000       171051569       171182643       171313717       171444791
        061 012 062 012 063 012 064 012 065 012 066 012 067 012 070 012
0000020       808520249       170995978       822751793       875629107
        071 012 061 060 012 061 061 012 061 062 012 061 063 012 061 064
0000040       171258122       822752817       942737975       171520266
        012 061 065 012 061 066 012 061 067 012 061 070 012 061 071 012
0000060          667698
        062 060 012
0000063

Ainsi, la sortie ci-dessus montre comment la sortie octale est affichée sous forme de sortie entière.

8. Afficher la sortie sous forme d'unités hexadécimales de 2 octets à l'aide de l'option -x

Prenons l'exemple suivant :

$ od -x input
0000000 0a31 0a32 0a33 0a34 0a35 0a36 0a37 0a38
0000020 0a39 3031 310a 0a31 3231 310a 0a33 3431
0000040 310a 0a35 3631 310a 0a37 3831 310a 0a39
0000060 3032 000a
0000063

Nous voyons donc que la sortie a été affichée en termes d'unités hexadécimales de 2 octets.

9. Afficher le contenu sous forme d'unités octales de deux octets à l'aide de l'option -o

Prenons l'exemple suivant :

$ od -o input
0000000 005061 005062 005063 005064 005065 005066 005067 005070
0000020 005071 030061 030412 005061 031061 030412 005063 032061
0000040 030412 005065 033061 030412 005067 034061 030412 005071
0000060 030062 000012
0000063

Notez que la commande od affiche la même sortie lorsqu'elle est exécutée sans aucune option. Voici un exemple :

$ od  input
0000000 005061 005062 005063 005064 005065 005066 005067 005070
0000020 005071 030061 030412 005061 031061 030412 005063 032061
0000040 030412 005065 033061 030412 005067 034061 030412 005071
0000060 030062 000012
0000063

10. Personnalisez la largeur de sortie à l'aide de l'option -w

Prenons l'exemple suivant :

$ od -w1 -c -Ad input
0000000   1
0000001  \n
0000002   2
0000003  \n
0000004   3
0000005  \n
0000006   4
0000007  \n
0000008   5
0000009  \n
0000010   6
0000011  \n
0000012   7
0000013  \n
0000014   8
0000015  \n
0000016   9
0000017  \n
0000018   1
0000019   0
0000020  \n
0000021   1
*
0000023  \n
0000024   1
0000025   2
0000026  \n
0000027   1
0000028   3
0000029  \n
0000030   1
0000031   4
0000032  \n
0000033   1
0000034   5
0000035  \n
0000036   1
0000037   6
0000038  \n
0000039   1
0000040   7
0000041  \n
0000042   1
0000043   8
0000044  \n
0000045   1
0000046   9
0000047  \n
0000048   2
0000049   0
0000050  \n
0000051

Nous voyons donc que la largeur de sortie a été réduite à 1 dans la sortie ci-dessus.

11. Afficher les doublons à l'aide de l'option -v

Comme on peut l'observer dans la sortie de l'exemple 10 ci-dessus, un * a été imprimé. Ceci est fait pour supprimer la sortie de lignes identiques ou en double. Mais grâce à l'option -v, ces lignes peuvent également être imprimées. Voici un exemple :

$ od -w1 -v -c -Ad input
0000000   1
0000001  \n
0000002   2
0000003  \n
0000004   3
0000005  \n
0000006   4
0000007  \n
0000008   5
0000009  \n
0000010   6
0000011  \n
0000012   7
0000013  \n
0000014   8
0000015  \n
0000016   9
0000017  \n
0000018   1
0000019   0
0000020  \n
0000021 1 
0000022 1
0000023  \n
0000024   1
0000025   2
0000026  \n
0000027   1
0000028   3
0000029  \n
0000030   1
0000031   4
0000032  \n
0000033   1
0000034   5
0000035  \n
0000036   1
0000037   6
0000038  \n
0000039   1
0000040   7
0000041  \n
0000042   1
0000043   8
0000044  \n
0000045   1
0000046   9
0000047  \n
0000048   2
0000049   0
0000050  \n
0000051

12. Acceptez l'entrée de la ligne de commande en utilisant –

Prenons l'exemple suivant :

$ od -c -
The Geek Stuff0000000   T   h   e       G   e   e   k       S   t   u   f   f
0000016

Nous voyons donc que l'entrée a d'abord été donnée via stdin, puis après avoir appuyé plusieurs fois sur ctrl + d, la sortie de la commande od s'est affichée.

13. Afficher les caractères masqués à l'aide de la commande od

Considérez l'entrée suivante :

The Geek ^MStuff

Si un fichier contenant la chaîne ci-dessus est imprimé à l'aide de la commande cat, la sortie suivante s'affiche :

 $ cat input
Stuffeek

Mais comme vous pouvez le voir, ce n'est pas exactement ce que contient le fichier.

Utilisons maintenant la commande od avec l'option -c sur ceci :

$ od -c input
0000000   T   h   e       G   e   e   k      \r   S   t   u   f   f  \n
0000020

Ainsi, la commande od affiche clairement qu'un retour chariot sans saut de ligne a été inséré entre les chaînes en raison desquelles une sortie erronée était affichée par la commande cat.


Linux
  1. 7 Exemples de commandes Linux df

  2. 8 Exemples de commandes Linux TR

  3. Exemples de commande rm sous Linux

  4. Exemples de commandes ps sous Linux

  5. w Exemples de commandes sous Linux

9 exemples de commandes tee sous Linux

9 exemples de commande diff sous Linux

Commande Linux ip avec exemples

15 Commande Linux ps avec exemples

8 exemples de commandes LDD sous Linux

Exemples de commandes id sous Linux