Como visualizar arquivos em binário a partir do bash?


289

Eu gostaria de visualizar o conteúdo de um arquivo no diretório atual, mas em binário na linha de comando. Como posso conseguir isso?

Respostas:


492

xxd faz binário e hexadecimal.

bin:

xxd -b file

hex:

xxd file

13
sudo xxd /dev/diskn | lessagora é minha nova coisa favorita.
precisa saber é o seguinte

6
... e está pré-instalado no Mac OS X e no Linux.
Sridhar Sarnobat 5/17/17

1
Isso tem a vantagem sobre o "hexdump", que também mostra o formulário ASCII ao lado, facilitando a identificação do local que eu quero olhar.
Paŭlo Ebermann

1
E para despejar a saída em um arquivo de texto ASCII para ler e pesquisar:xxd file > hex_dump_of_file.txt
Gabriel Staples

um suplemento: o xxd não é apenas para o shell linux. Eu acho que vem com o vim. Eu tinha o vim instalado no Windows e descobri que também posso usar o xxd no Windows.
Tiina

182
hexdump -C yourfile.bin

a menos que você queira editá-lo, é claro. A maioria das distribuições Linux tem hexdumppor padrão (mas obviamente não todas).


1
Eu gosto dessa idéia, mas como as outras sugestões, ela só gera hexadecimal. Obviamente, isso é muito mais compacto que o binário, mas eu estou lidando com arquivos muito pequenos, então o binário é o preferido. Hex é a única maneira de poder visualizar o arquivo?
adam_0

1
Bem, quão pequeno é o arquivo? Qualquer coisa acima de alguns bytes e você começará a perder a cabeça usando o binário de qualquer maneira. Hex faz muito mais sentido para a maioria das coisas. Se você não se sentir à vontade com o hex, localize os bytes nos quais está interessado e converta-os usando uma calculadora hexadecimal.
1938 Duck

3
Preciso ter certeza de que meu arquivo está compactando corretamente e não sei como ele deve estar em hexadecimal (o tamanho de cada unidade é 7 bits), para que eu tenha que processar os números manualmente.
21420 adam_0

você tem algum método para ver o texto do arquivo binário? Posso obter o código HEX, mas como devo decodificá-lo para texto humano normal?
Lukas Liesis

E quanto à saída do hexdump -C data.bin | hexdump -C
cyb0k

69
vi your_filename

acertar esc

Digite :%!xxdpara visualizar as seqüências de caracteres hexadecimais, n :%!xxd -rpara retornar à edição normal.


Descobri :%!xxdadicionar caracteres indesejados, ou seja, uma nova linha ao meu arquivo?
Quazi Irfan


13

Se você deseja abrir arquivos binários (no CentOS 7):

strings <binary_filename>

Na IMO, essa é a mais simples e elegante de todas as respostas. Eu gostaria de poder votar mais de uma vez.
Olumide

A melhor resposta mãos para baixo. Isso converte o arquivo binário em um arquivo JSON. Nem todos os heróis usam capas, isso é verdade
Shubham Pawar 14/04

11

sudo apt-get install bless

Bless é uma ferramenta GUI que pode visualizar, editar, pesquisar e muito mais. É muito leve.


1
Sim. Achei isso mais fácil do que o Vim.
Paulb 17/02/16


3
$ echo -n 'Hello world!' | hd
00000000  48 65 6c 6c 6f 20 77 6f  72 6c 64 21              |Hello world!|
0000000c

2
hd é um apelido para "hexdump -C" ...?
JAR.JAR.beans

@ JAR.JAR.beans Sim, de fato. Eu uso porque é mais fácil de lembrar.
Aalex Gabi

E porque está presente por padrão em alguns sistemas (Debian).
Aalex Gabi


Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.