hexyl - Visualiseur hexadécimal de ligne de commande coloré
hexyl est un visualiseur hexadécimal moderne pour le terminal, écrit en Rust. Il code les octets par couleur selon leur catégorie — NULL, ASCII imprimable, espace blanc ASCII, autre ASCII, et non-ASCII — les structures ressortent d”un coup d”œil, et il affiche un panneau de caractères aligné à côté du hex. Pour examiner rapidement les en-têtes de fichier, les octets magiques et la structure binaire, c”est bien plus lisible que xxd ou hexdump, tout en restant scriptable avec des contrôles de décalage et de longueur.
Installation
| Plateforme | Commande |
|---|
| Cargo (toutes les plateformes) | cargo install hexyl |
| macOS (Homebrew) | brew install hexyl |
| Arch Linux | sudo pacman -S hexyl |
| Debian/Ubuntu | sudo apt install hexyl |
| Fedora | sudo dnf install hexyl |
| Windows (Scoop) | scoop install hexyl |
| Nix | nix-env -iA nixpkgs.hexyl |
Utilisation de base
| Commande | Description |
|---|
hexyl file.bin | Vidage hex avec couleur et panneau de caractères |
hexyl -n 64 file.bin | Afficher uniquement les 64 premiers octets |
| `head -c 256 file | hexyl` |
hexyl --help | Liste complète des options |
hexyl --version | Version |
Contrôle de plage
| Option | Description |
|---|
-n, --length N | Lire au maximum N octets |
-c, --bytes N | Alias pour la longueur en octets |
-s, --skip N | Sauter (chercher) N octets avant la lecture |
-r, --range A:B | Lire la plage d”octets de A à B |
--block-size N | Définir la taille de bloc pour -n/-s (par ex. 512) |
Les décalages et les comptages acceptent les unités et les bases: 0x1F, 512, 1KiB, 2MiB.
Options d”affichage
| Option | Description |
|---|
| `—color always | auto |
| `—border ascii | unicode |
--panels N | Nombre de panneaux hex côte à côte (auto pour adapter la largeur) |
--no-characters | Masquer le panneau de caractères droit |
--no-position | Masquer la colonne de décalage |
--group-size N | Octets par groupe (1, 2, 4, 8) |
| `—base 2 | 8 |
-p, --plain | Pas de couleurs, pas de bordures, pas de position (style xxd) |
Lecture des couleurs
| Catégorie de couleur | Signification |
|---|
0 estompé | Octets NULL (0x00) |
| Vert | Caractères ASCII imprimables |
| Jaune/cyan | Espace blanc ASCII |
| Autre nuance | Autres octets de contrôle ASCII |
| Lumineux | Non-ASCII (0x80–0xFF) |
Cette coloration rend les nombres magiques, le remplissage et les régions texte-versus-binaire instantanément visibles.
Flux de travail courants
# Vérifier les octets magiques / l'en-tête d'un fichier
hexyl -n 16 mystery.file
# Inspecter une structure spécifique à un décalage connu
hexyl -s 0x200 -n 0x40 firmware.bin
# Comparer rapidement les en-têtes de deux fichiers
hexyl -n 32 a.bin; echo '---'; hexyl -n 32 b.bin
# Sortie style xxd en texte brut pour diff ou scripts
hexyl --plain -n 64 file.bin
# Regarder une tranche d'un flux
curl -s https://example.com/file | hexyl -n 128
hexyl vs Outils classiques
| Fonctionnalité | hexyl | xxd | hexdump |
|---|
| Couleur par catégorie d”octet | Oui | Non | Non |
| Panneau de caractères | Oui | Oui | Avec format |
| Drapeaux de plage/recherche | Oui | Limité | Limité |
| Disposition multi-panneau | Oui | Non | Non |
| Mode brut/scriptable | Oui (-p) | Oui | Oui |
Ressources