hexyl - Visualizador de Hex Colorido na Linha de Comando
hexyl é um visualizador hex moderno para o terminal, escrito em Rust. Ele colore códigos de bytes por categoria — NULL, ASCII imprimível, ASCII espaço em branco, outro ASCII e não-ASCII — para que estrutura salte aos olhos de uma vez, e mostra um painel de caracteres alinhado ao lado do hex. Para examinar rapidamente cabeçalhos de arquivo, números mágicos e estrutura binária, é muito mais legível que xxd ou hexdump, enquanto permanece programável com controles de offset e comprimento.
Instalação
| Plataforma | Comando |
|---|
| Cargo (todas as plataformas) | 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 |
Uso Básico
| Comando | Descrição |
|---|
hexyl file.bin | Despejo hex com cor e painel de caracteres |
hexyl -n 64 file.bin | Mostre apenas os primeiros 64 bytes |
| `head -c 256 file | hexyl` |
hexyl --help | Lista completa de opções |
hexyl --version | Versão |
Controle de Intervalo
| Opção | Descrição |
|---|
-n, --length N | Leia no máximo N bytes |
-c, --bytes N | Alias para comprimento em bytes |
-s, --skip N | Pule (seek) N bytes antes de ler |
-r, --range A:B | Leia o intervalo de bytes de A a B |
--block-size N | Defina o tamanho do bloco para -n/-s (por ex. 512) |
Offsets e contagens aceitam unidades e bases: 0x1F, 512, 1KiB, 2MiB.
Opções de Exibição
| Opção | Descrição |
|---|
| `—color always | auto |
| `—border ascii | unicode |
--panels N | Número de painéis hex lado a lado (auto para caber na largura) |
--no-characters | Oculte o painel de caracteres da direita |
--no-position | Oculte a coluna de offset |
--group-size N | Bytes por grupo (1, 2, 4, 8) |
| `—base 2 | 8 |
-p, --plain | Sem cores, sem bordas, sem posição (estilo xxd) |
Lendo as Cores
| Categoria de cor | Significado |
|---|
Dimmed 0 | Bytes NULL (0x00) |
| Verde | Caracteres ASCII imprimíveis |
| Amarelo/teal | Espaço em branco ASCII |
| Outra tonalidade | Outros bytes ASCII de controle |
| Brilhante | Não-ASCII (0x80–0xFF) |
Essa coloração torna números mágicos, preenchimento e regiões texto-versus-binário instantaneamente visíveis.
Fluxos de Trabalho Comuns
# Verifique números mágicos / cabeçalho de um arquivo
hexyl -n 16 mystery.file
# Inspecione uma estrutura específica em um offset conhecido
hexyl -s 0x200 -n 0x40 firmware.bin
# Compare cabeçalhos de dois arquivos rapidamente
hexyl -n 32 a.bin; echo '---'; hexyl -n 32 b.bin
# Saída estilo xxd simples para diff ou scripts
hexyl --plain -n 64 file.bin
# Olhe um slice de um stream
curl -s https://example.com/file | hexyl -n 128
hexyl vs Ferramentas Clássicas
| Característica | hexyl | xxd | hexdump |
|---|
| Cor por categoria de byte | Sim | Não | Não |
| Painel de caracteres | Sim | Sim | Com formato |
| Flags de intervalo/seek | Sim | Limitado | Limitado |
| Layout multi-painel | Sim | Não | Não |
| Modo simples/programável | Sim (-p) | Sim | Sim |
Recursos