Man page - xxd(1)
Packages contains this manual
Available languages:
en fr it pl ja ru zh_TW zh_CNManual
XXD
NOMSYNOPSIS
DESCRIPTION
OPTIONS
MISE EN GARDE
EXEMPLES
VALEURS DE RETOUR
VOIR AUSSI
AVERTISSEMENTS
VERSION
AUTEUR
TRADUCTION
NOM
xxd - convertit en représentation hexadécimale et inversement.
SYNOPSIS
xxd
-h[elp]
xxd
[options] [fichier_entree [fichier_sortie]]
xxd
-r[evert] [options] [fichier_entree
[fichier_sortie]]
DESCRIPTION
xxd crĂ©e un fichier contenant la reprĂ©sentation hexadĂ©cimale dâun fichier binaire ou de lâentrĂ©e standard. Il peut Ă©galement convertir un fichier de codes hexadĂ©cimaux en un fichier binaire. Comme uuencode (1) et uudecode (1) il permet la transmission de donnĂ©es binaires dans une reprĂ©sentation ASCII compatible avec le courrier Ă©lectronique, mais a lâavantage de dĂ©coder la sortie standard. De plus, il peut ĂȘtre utilisĂ© pour appliquer des rustines Ă des fichiers binaires.
OPTIONS
Si aucun fichier_entree nâest spĂ©cifiĂ©, lâentrĂ©e standard est utilisĂ©e. Si fichier_entree correspond au caractĂšre â-â lâentrĂ©e standard est employĂ©e comme source des donnĂ©es en entrĂ©e. Si aucun fichier_sortie nâest spĂ©cifiĂ© (ou quâun caractĂšre â-â est donnĂ© Ă sa place), le rĂ©sultat est envoyĂ© sur la sortie standard.
NOTE : un
analyseur paresseux est utilisé. Il ne vérifie
pas au-delĂ de la premiĂšre lettre de
lâoption, Ă moins que cette derniĂšre ne
requiert un paramĂštre. Lâespace entre
lâoption et son paramĂštre est optionnel. Les
paramĂštres des options peuvent ĂȘtre
spécifiés en notation décimale,
hexadécimale ou octale. Ainsi
-c8
,
-c
8
,
-c 010
et
-cols 8
sont tous
équivalents.
-a
|
-autoskip
active la fonctionnalitĂ© "autoskip" : le caractĂšre â*â remplace les lignes dâoctets nuls. DĂ©sactivĂ©e par dĂ©faut.
-b | -bits
Convertit en binaires plutĂŽt quâen hexadĂ©cimal. Cette option Ă©crit les octets comme une sĂ©quence de "1" et de "0" au lieu dâune conversion en hexadĂ©cimal traditionnel. Chaque ligne est prĂ©cĂ©dĂ©e par un numĂ©ro de ligne en hexadĂ©cimal et suivie de la reprĂ©sentation ASCII (ou EBCDIC) correspondante. Les options -p, -i ne fonctionnent pas dans ce mode.
-c cols | -cols cols
place < cols > octets par ligne. 16 par défaut (-i : 12, -ps : 30, -b : 6). Maximum 256.
-E | -EBCDIC
Passe le codage des caractÚres de la colonne de droite de ASCII à EBCDIC. Cela ne change pas la représentation hexadécimale. Cette option est sans effet quand elle est utilisée avec -r, -p or -i.
-g octets | -groupsize octets
Regroupe les octets (deux chiffres hexadĂ©cimaux ou huit chiffres binaires) par groupe de < octets > sĂ©parĂ©s par des espaces blancs. SpĂ©cifiez -g 0 pour supprimer le regroupement. < octets > vaut 2 par dĂ©faut dans le mode normal et 1 en reprĂ©sentation binaire. Le regroupement ne sâapplique pas aux styles Postscript et Include.
-h | -help
Affiche un rĂ©sumĂ© des commandes disponibles et quitte. Aucune conversion nâest effectuĂ©e.
-i | -include
produit une sortie dans le style #include (fichier C Ă inclure). La dĂ©finition complĂšte dâun tableau statique est Ă©crite et est nommĂ©e dâaprĂšs le fichier dâorigine, Ă moins que xxd lise depuis lâentrĂ©e standard.
-l long | -len long
ArrĂȘte aprĂšs lâĂ©criture de < long > octets.
-p | -ps | -postscript | -plain
Produit une conversion continue dans le style Postscript (postscript continuous hexdump style). Ăgalement connu sous le nom de « conversion brute » (plain hexdump style).
-r | -revert
OpĂ©ration inverse : convertit un fichier hexadĂ©cimal en un fichier binaire (ou applique une rustine Ă un fichier binaire). Si lâĂ©criture nâa pas lieu sur la sortie standard, xxd Ă©crit dans le fichier quâil produit sans le tronquer. Utilisez la combinaison -r -p pour lire de lâhexadĂ©cimal brut sans information sur le numĂ©ro des lignes et sans format de colonnes particulier. Des espaces blancs et coupures de lignes supplĂ©mentaires sont autorisĂ©s Ă nâimporte quel endroit.
-seek décalage
UtilisĂ© aprĂšs lâoption -r : inverse la conversion en ajoutant < dĂ©calage > aux positions dans le fichier donnĂ©es dans le code hexadĂ©cimal.
-s [+][-]décalage
DĂ©bute au < dĂ©calage > absolu ou relatif dans fichier_entree. + indique que le dĂ©calage est relatif Ă la position courante dans lâentrĂ©e standard (sans effet si la lecture nâa pas lieu sur lâentrĂ©e standard). - indique un dĂ©calage en caractĂšres depuis la fin de lâentrĂ©e (utilisĂ© avec + , dĂ©signe la position avant la position actuelle de lâentrĂ©e standard). Sans lâoption -s, xxd dĂ©marre Ă la position courante du fichier.
|
-u |
Utilise des chiffres hexadécimaux majuscules. La casse par défaut est minuscule. |
-v | -version
Affiche la version de xxd.
MISE EN GARDE
xxd -r effectue des opĂ©rations internes un peu obscures lors de lâĂ©valuation des informations sur les numĂ©ros de lignes. Si le fichier de sortie est adressable, alors les numĂ©ros de lignes au dĂ©but de chaque ligne dâhexadĂ©cimal peuvent ĂȘtre dĂ©sordonnĂ©es, des lignes peuvent manquer ou se chevaucher. Dans ces cas, xxd utilisera lseek(2) pour dĂ©terminer la prochaine position. Si le fichier nâest pas adressable, seuls les vides sont autorisĂ©s, et ils seront comblĂ©s par des octets nuls.
xxd -r ne gĂ©nĂšre aucune erreur lors de lâanalyse. Les problĂšmes sont passĂ©s silencieusement.
Lors de lâĂ©dition de la reprĂ©sentation hexadĂ©cimale, veuillez noter que xxd -r ignore tout ce qui se trouve sur la ligne aprĂšs avoir lu suffisamment de donnĂ©es hexadĂ©cimales (voir lâoption -c). Cela signifie Ă©galement que les modifications dans la colonne ASCII (ou EBCDIC) sont toujours ignorĂ©es. La conversion inverse de donnĂ©es hexadĂ©cimales brutes (postscript) avec xxd -r -p ne dĂ©pend pas dâun nombre correct de colonnes. Dans ce cas, tout ce qui ressemble Ă une paire de chiffres hexadĂ©cimaux est interprĂ©tĂ©.
Remarquez la
différence entre
% xxd -i fichier
et
% xxd -i < fichier
xxd -s +seek peut diffĂ©rer de xxd -s seek , car lseek(2) est utilisĂ© pour « revenir en arriĂšre ». Le â+â fait une diffĂ©rence quand la source des donnĂ©es est lâentrĂ©e standard et si la position dans le fichier de lâentrĂ©e standard nâest pas au dĂ©but du fichier lorsque xxd est dĂ©marrĂ© et quâil reçoit ses donnĂ©es. Lâexemple suivant peut vous aider Ă comprendre (ou bien vous perdre davantage encore !)...
Remettre
lâentrĂ©e standard au dĂ©part avant de
lire ; nĂ©cessaire car âcatâ a
dĂ©jĂ lu jusquâĂ la fin de
lâentrĂ©e standard.
% sh -c âcat > donnees_binaires; xxd -s 0 >
donnees_hexaâ < fichier
Convertir
Ă partir de la position 0x480 (= 1024 + 128) du
fichier. Le symbole â+â signifie
"relativement Ă la position actuelleâ,
ainsi 128 est ajouté aux 1024 octets
comptabilisés pour dd.
% sh -c âdd of=donnees_binaires bs=1k count=1; xxd -s
+128 > donnees_hexaâ < fichier
Convertir de
fichier depuis la position 0x100 (= 1024 - 768) du fichier.
% sh -c âdd of=donnees_binaires bs=1k count=1; xxd -s
+-768 > donnees_hexaâ < fichier
Toutefois, cette situation est peu frĂ©quente et lâutilisation de â+â est rarement requise. Lâauteur prĂ©fĂšre surveiller les effets de xxd avec strace(1) ou truss(1) quand -s est employĂ©.
EXEMPLES
Afficher la
totalité du
fichier
sauf les trois
premiÚres lignes (0x30 octets en hexadécimal).
% xxd -s 0x30 fichier
afficher les
trois derniĂšres lignes (0x30 octets en
hexadécimal) du
fichier
% xxd -s -0x30 fichier
Afficher 120
octets convertis en continu, avec 20 octets par ligne.
% xxd -l 120 -ps -c 20 xxd-fr.1
2e54482058584420312022616ffb742031393936
22202250616765206465206d616e75656c20706f
757220787864220a2e5c220a2e5c222032317374
204d617920313939360a2e5c22204d616e207061
676520617574686f723a0a2e5c2220202020546f
6e79204e7567656e74203c746f6e79407363746e
204e7567656e74203c746f6e79407363746e7567
2e54482058584420312022417567757374203139
Convertir les
120 premiers octets de cette page de manuel avec 12 octets
par ligne.
% xxd -l 120 -c 12 xxd-fr.1
0000000: 2e54 4820 5858 4420 3120 2261 .TH XXD 1 "a
000000c: 6ffb 7420 3139 3936 2220 2250 o.t 1996"
"P
0000018: 6167 6520 6465 206d 616e 7565 age de manue
0000024: 6c20 706f 7572 2078 7864 220a l pour xxd".
0000030: 2e5c 220a 2e5c 2220 3231 7374 .
000003c: 204d 6179 2031 3939 360a 2e5c May 1996..\
0000048: 2220 4d61 6e20 7061 6765 2061 " Man page a
0000054: 7574 686f 723a 0a2e 5c22 2020 uthor:..
0000060: 2020 546f 6e79 204e 7567 656e Tony Nugen
000006c: 7420 3c74 6f6e 7940 7363 746e t <tony@sctn
Afficher la date
écrite au début du fichier xxd-fr.1.
% xxd -s 0x38 -l 13 -c 13 xxd.1
0000036: 3231 7374 204d 6179 2031 3939 36 21st May 1996
Copier
fichier_entree
vers
fichier_sortie
en ajoutant
100 octets de valeur 0x00 avant.
% xxd fichier_entree | xxd -r -s 100 >
fichier_sortie
Patcher la date
dans le fichier xxd.1
% echo â0000037: 3574 68â | xxd -r - xxd-fr.1
% xxd -s 0x38 -l 13 -c 13 xxd-fr.1
0000036: 3235 7468 204d 6179 2031 3939 36 25th May 1996
Créer un
fichier de 65537 octets tous nuls (0x00), sauf le dernier
qui vaut âAâ (0x41 en hexadĂ©cimal).
% echo â010000: 41â | xxd -r >
fichier
Convertir le
fichier de lâexemple prĂ©cĂ©dent avec la
fonctionnalité "autoskip".
% xxd -a -c 12 fichier
0000000: 0000 0000 0000 0000 0000 0000 ............
*
000fffc: 0000 0000 40 ....A
Créer un
fichier dâun octet, contenant seulement le
caractĂšre âAâ. Le nombre aprĂšs
â-r -sâ sâajoute aux numĂ©ros de
lignes trouvées dans le fichier ; les octets initiaux
sont supprimés.
% echo â010000: 41â | xxd -r -s -0x10000 >
fichier
Utiliser xxd
comme filtre dans un éditeur tel que
vim(1)
pour convertir une zone comprise entre les marques
âaâ et âzâ.
:âa,âz!xxd
Utiliser xxd
comme filtre dans un éditeur tel que
vim(1)
pour récupérer une conversion binaire comprise
entre les marques âaâ et âzâ.
:âa,âz!xxd -r
Utiliser xxd
comme filtre dans un éditeur tel que
vim(1)
pour récupérer une ligne convertie. Placez le
curseur sur la ligne et tapez :
!!xxd -r
Lire des
caractÚres depuis une connexion série :
% xxd -c1 < /dev/term/b &
% stty < /dev/term/b -echo -opost -isig -icanon min 1
% echo -n foo > /dev/term/b
VALEURS DE RETOUR
Les erreurs suivantes sont rapportées :
|
0 |
aucune erreur ne sâest produit. |
|||
|
-1 |
opération non supportée ( xxd -r -i reste impossible). |
|||
|
1 |
erreur lors de lâanalyse des options. |
|||
|
2 |
problĂšme avec le fichier dâentrĂ©e. |
|||
|
3 |
problĂšme avec le fichier de sortie. |
|||
|
4, 5 |
la position spĂ©cifiĂ©e nâest pas atteignable. |
VOIR AUSSI
uuencode(1), uudecode(1), patch(1)
AVERTISSEMENTS
LâĂ©trangetĂ© de cet outil reflĂšte celle du cerveau de ses crĂ©ateurs. Utilisez cet outil Ă vos risques et pĂ©rils. Dupliquez vos fichiers. Surveillez lâoutil. Devenez un gourou.
VERSION
Cette page de manuel documente la version 1.7 de xxd.
AUTEUR
(c) 1990-1997
par Juergen Weigert
<jnweiger@informatik.uni-erlangen.de>
"Distribute
freely and credit me,
make money and share with me,
lose money and donât ask me."
Distribution
libre en citant lâauteur,
gagnez de lâargent, pensez Ă moi,
perdez de lâargent, oubliez-moi.
Page de manuel
débutée par Tony Nugent
<tony@sctnugen.ppp.gu.edu.au>
<T.Nugent@sct.gu.edu.au>
Modifications mineures par Bram Moolenaar.
ĂditĂ© par Juergen Weigert.
TRADUCTION
Cette page de manuel a été traduite par David Blanchet <david.blanchet@free.fr> 2004-12-24. Mise à jour 2013-05-10, Dominique Pellé <dominique.pelle@gmail.com>