Aqui está um exemplo da vida real onde hexdump pode ser útil. Se você estiver trabalhando com dados binários, isso será muito difícil de entender. Para facilitar, você pode transformar rapidamente os dados binários em hexadecimais ou decimais.
Neste guia, verifique como usar o comando hexdump no Linux.
Hexdump em Linux
Hexdump é um programa simples, mas útil, escrito em linguagem C. É por isso que os programadores profissionais de C podem achar seu uso fácil. No entanto, mesmo se você não tiver experiência em programação C, você ainda pode usar hexdump para seu propósito.
Hexdump vem pré-instalado em qualquer distro Linux. Neste guia, estarei usando o Ubuntu para fins de demonstração.
Uso de Hexdump
Para demonstrar o uso de hexdump, criei um exemplo de arquivo de texto simulado.TXT.
$ cat manequim.TXT
Estaremos passando este arquivo para hexdump para converter seu conteúdo em vários formatos de saída.
Visor octal de um byte
O seguinte comando hexdump irá imprimir os dados de entrada em formato hexadecimal. Na saída, cada linha contém 16 bytes separados por espaço de dados de entrada, cada um com 3 colunas e preenchido com zeros, em octal.
$ hexdump -b
Exibição de caracteres de um byte
O seguinte comando hexdump irá mostrar os dados de entrada em formato hexadecimal. Na saída, cada linha contém 16 caracteres separados por espaço de dados de entrada, cada um com 3 colunas e preenchido com espaço.
$ hexdump -c
Hex canônico + display ASCII
O seguinte comando hexdump exibirá os dados de entrada em hexadecimal. Na saída, cada linha contém 16 bytes hexadecimais separados por espaço, cada um com 2 colunas. O conteúdo a seguir terá os mesmos bytes em % _p formato entre “|” personagens.
$ hexdump -C
Exibição decimal de dois bytes
O seguinte comando hexdump irá mostrar os dados de entrada em formato hexadecimal. Na saída, cada linha contém 8 unidades de 2 bytes separadas por espaço de dados de entrada, cada uma com 5 colunas e preenchidas com zeros, em decimal sem sinal.
$ hexdump -d
Visor octal de dois bytes
O seguinte comando hexdump irá imprimir os dados de entrada em formato hexadecimal. Na saída, cada linha contém 8 bytes de dados de entrada separados por espaço, cada um com 6 colunas e preenchidos com zeros, em octal.
$ hexdump -o
Display hexadecimal de dois bytes
O seguinte comando hexdump irá imprimir os dados de entrada em formato hexadecimal. Na saída, cada linha contém 8 bytes de dados de entrada separados por espaço, cada um com 4 colunas e preenchidos com zeros, em hexadecimal.
$ hexdump -x
Exibir todas as entradas
Ao usar hexdump, ele substituirá o conteúdo de linhas repetidas por um único asterisco. Se você quiser forçar o hexdump a exibir todos os conteúdos, use a sinalização “-v”.
$ cat manequim.TXT$ hexdump -b dummy.TXT
$ hexdump -v -b
Limite de quantidade de bytes
Hexdump suporta a opção de decidir um número específico de bytes de um arquivo para hexdump. Para especificar o valor, use o sinalizador “-s” seguido pelo valor em bytes.
$ hexdump -s 2 -c
Pensamento final
Os exemplos demonstrados aqui são as maneiras como você usará principalmente o hexdump. Para obter informações completas sobre hexdump, a página do manual é um dos melhores recursos.
$ man hexdump
Hexdump é uma ferramenta poderosa se você souber quando e como usá-lo. No entanto, as ferramentas nem sempre são a resposta quando se trata de depuração. Veja como depurar um script bash. Se você gosta de NodeJS, verifique como usar o depurador NodeJS.
Apreciar!