2015-03-22 1 views
-1

J'utilise linux et quand je tapais od -c -N 16 <filename.png>
je suis arrivé 0000000 211 P N G \r \n 032 \n \0 \0 \0 \r I H D R 0000020. Je pensais que cette commande me dit le type du fichier, mais je suis curieux de savoir ce que le nombre 0000000 et 211 signifie. Quelqu'un peut-il aider s'il vous plaît?quels sont les chiffres indiqués par od -c -N 16 <filename.png>

Répondre

2

od signifie "dump octal" (analogue à l'hexdumper). Il déverse des octets d'un fichier en notation octale.

211 octal est 2 * 8 + 1 * 8 + 1 = 137, il faut donc un octet de valeur 137 y. Le 0000000 au début de la ligne et le 0000020 au début du suivant sont des positions dans le fichier, également en octal. Si vous supprimez -N 16 de l'appel, vous verrez une colonne de nombres octaux monotones ascendants sur le côté gauche de la vidage octal; leur but est de le rendre immédiatement visible quelle partie d'une décharge que vous lisez actuellement.

Le paramètre

-N 16 

signifie lire seulement les 16 premiers octets de filename.png et

-c 

est une option de format qui indique od

  • pour imprimer des caractères imprimables comme caractères eux-mêmes plutôt que le code octal, et
  • pour imprimer des caractères non imprimables qui ont une séquence d'échappement de barre oblique inverse (telle que \r ou \n) en tant que séquence d'échappement plutôt qu'un nombre octal.

C'est la raison pour laquelle tous les octets ne sont pas sauvegardés en octal.

Si vous voulez connaître le type de fichier d'un fichier, utilisez le file utilitaire:

file filename.png 

Side note: Vous pouvez être intéressé par la commande man, qui montre la page de manuel (entre autres) outils de ligne de commande. Dans ce cas particulier,

man od 

aurait pu être éclairant.