Aperçu
xxd affiche le contenu des fichiers binaires en hexadécimal et en chaînes ASCII, de manière similaire à `hexdump` ou `od`. Cependant, sa principale caractéristique est sa **fonction de conversion inverse** qui permet de restaurer le contenu dumpé en fichier binaire original. Cette fonction rend possible l'édition de fichiers binaires sous forme hexadécimale dans un éditeur de texte, puis leur sauvegarde en tant que fichiers binaires originaux à l'aide de `xxd -r`. Cette flexibilité est très puissante pour l'analyse et la modification de fichiers binaires, surtout lorsqu'elle est utilisée avec l'éditeur `vim`.
Caractéristiques principales
Les principales caractéristiques de la commande xxd sont les suivantes :
- Affiche le contenu d'un fichier au format hexadécimal et ASCII.
- Peut reconvertir un dump hexadécimal en fichier binaire original.
- Peut être utilisé avec des éditeurs de texte classiques pour modifier des fichiers binaires.
- Offre diverses options pour contrôler finement le format de sortie.
Différences entre xxd et hexdump
xxd et hexdump ont des fonctions de dump hexadécimal similaires, mais la principale différence réside dans la présence ou l'absence de la fonction de conversion inverse.
- xxd: Fournit la fonction de `conversion inverse` (`-r`) pour restaurer un dump hexadécimal en fichier binaire original. L'intégration avec `vim` est puissante.
- hexdump: Un outil axé uniquement sur la fonction de dump, sans fonction de conversion inverse.
Options principales
Les options fréquemment utilisées de la commande xxd sont regroupées par objectif.
1) Options de dump et de conversion inverse
2) Aide
Commande générée :
Essayez de combiner les commandes.
Description:
`xxd` Exécute la commande.
Essayez d'exécuter virtuellement les commandes avec l'IA en combinant les options ci-dessus.
Exemples d'utilisation
Découvrez les fonctionnalités de la commande xxd à travers divers exemples d'utilisation.
Dump hexadécimal du contenu d'un fichier
echo 'Hello World!' > test.txt
xxd test.txt
Affiche le contenu du fichier `test.txt` en hexadécimal et en caractères ASCII.
Enregistrer un dump hexadécimal dans un fichier
xxd /bin/ls > ls_dump.txt
Enregistre le contenu du fichier binaire `/bin/ls` dans le fichier `ls_dump.txt`.
Reconvertir un fichier dump en original
xxd -r ls_dump.txt ls_copy
Restaure le fichier `ls_dump.txt` précédemment enregistré en fichier binaire original `ls_copy`. **Cette fonctionnalité est la principale caractéristique de xxd.**
Édition de fichiers binaires avec vim
vim file.bin
(vim에서) :%!xxd
(편집)
(vim에서) :%!xxd -r
Dans `vim`, utilisez la commande `%!xxd` pour basculer le fichier actuel en mode dump hexadécimal, puis, après modification, utilisez `%!xxd -r` pour le restaurer et l'enregistrer.
Installation
xxd est inclus dans le paquet `vim`. La plupart des distributions Linux ont les paquets `vim-common` ou `vim` installés par défaut, donc une installation séparée n'est généralement pas nécessaire.
Debian/Ubuntu
sudo apt update
sudo apt install -y vim-common
RHEL/CentOS/Fedora
sudo dnf install -y vim-common
Astuces et précautions
Voici quelques points à noter lors de l'utilisation de la commande xxd.
Astuces
- L'option `-r` de `xxd` ne peut reconvertir correctement que les fichiers de dump créés par `xxd`. Elle pourrait ne pas s'appliquer à d'autres formats de fichiers de dump hexadécimal.
- Soyez extrêmement prudent lorsque vous modifiez des fichiers binaires. Un seul octet incorrect peut corrompre l'ensemble du programme.
- Pour éviter d'écraser le fichier original lors de la reconversion, il est toujours plus sûr de sauvegarder sous un nom de fichier différent (ex: `xxd -r old.hex > new.bin`).