hexyl - Cheatsheet Hex Viewer Colorato Command-Line
hexyl è un moderno hex viewer per il terminale, scritto in Rust. Codifica i byte per categoria con colori — NULL, ASCII stampabile, ASCII whitespace, altro ASCII, e non-ASCII — per far risaltare la struttura a colpo d”occhio, e mostra un pannello di caratteri allineato accanto all”hex. Per controllare velocemente le intestazioni dei file, magic byte e la struttura binaria è molto più leggibile di xxd o hexdump, rimanendo scriptabile con controlli di offset e lunghezza.
Installazione
| Piattaforma | Comando |
|---|
| Cargo (tutte le piattaforme) | 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 |
Utilizzo di Base
| Comando | Descrizione |
|---|
hexyl file.bin | Hex dump con colore e pannello caratteri |
hexyl -n 64 file.bin | Mostra solo i primi 64 byte |
| `head -c 256 file | hexyl` |
hexyl --help | Elenco completo delle opzioni |
hexyl --version | Versione |
Controllo di Range
| Opzione | Descrizione |
|---|
-n, --length N | Leggi al massimo N byte |
-c, --bytes N | Alias per lunghezza in byte |
-s, --skip N | Salta (seek) N byte prima di leggere |
-r, --range A:B | Leggi l”intervallo di byte da A a B |
--block-size N | Imposta la dimensione del blocco per -n/-s (es 512) |
Gli offset e i conteggi accettano unità e basi: 0x1F, 512, 1KiB, 2MiB.
Opzioni di Visualizzazione
| Opzione | Descrizione |
|---|
| `—color always | auto |
| `—border ascii | unicode |
--panels N | Numero di pannelli hex uno accanto all”altro (auto per adattare la larghezza) |
--no-characters | Nascondi il pannello caratteri a destra |
--no-position | Nascondi la colonna di offset |
--group-size N | Byte per gruppo (1, 2, 4, 8) |
| `—base 2 | 8 |
-p, --plain | Nessun colore, bordi, posizione (stile xxd) |
Lettura dei Colori
| Categoria di colore | Significato |
|---|
Sbiadito 0 | NULL byte (0x00) |
| Verde | Caratteri ASCII stampabili |
| Giallo/teal | ASCII whitespace |
| Altra sfumatura | Altri byte ASCII di controllo |
| Luminoso | Non-ASCII (0x80–0xFF) |
Questa colorizzazione rende i magic number, il padding e le regioni text-versus-binary istantaneamente visibili.
Flussi di Lavoro Comuni
# Controlla i magic byte / intestazione di un file
hexyl -n 16 mystery.file
# Ispeziona una struttura specifica a un offset noto
hexyl -s 0x200 -n 0x40 firmware.bin
# Confronta le intestazioni di due file velocemente
hexyl -n 32 a.bin; echo '---'; hexyl -n 32 b.bin
# Output stile xxd plain per diffing o script
hexyl --plain -n 64 file.bin
# Guarda una fetta di uno stream
curl -s https://example.com/file | hexyl -n 128
| Caratteristica | hexyl | xxd | hexdump |
|---|
| Colore per categoria di byte | Sì | No | No |
| Pannello di caratteri | Sì | Sì | Con formato |
| Flag di range/seek | Sì | Limitato | Limitato |
| Layout multi-pannello | Sì | No | No |
| Modo plain/scriptabile | Sì (-p) | Sì | Sì |
Risorse