¿Cómo ver archivos en binario desde bash?

289

Me gustaría ver el contenido de un archivo en el directorio actual, pero en binario desde la línea de comandos. ¿Cómo puedo conseguir esto?

adam_0
fuente

Respuestas:

492

xxd hace tanto binario como hexadecimal.

compartimiento:

xxd -b file

maleficio:

xxd file
Emilio Bool
fuente
13
sudo xxd /dev/diskn | lessahora es mi nueva cosa favorita.
krs013
66
... y está preinstalado en Mac OS X y Linux.
Sridhar Sarnobat
1
Esto tiene la ventaja sobre "hexdump" que también muestra el formulario ASCII en el lateral, lo que facilita la identificación de la ubicación que quiero ver.
Paŭlo Ebermann
1
Y para volcar la salida en un archivo de texto ASCII para examinar y buscar:xxd file > hex_dump_of_file.txt
Gabriel Staples
un suplemento: xxd no es solo para linux shell. Creo que viene con vim. Tenía vim instalado en Windows, y descubrí que también puedo usar xxd en Windows.
Tiina
182
hexdump -C yourfile.bin

a menos que quieras editarlo, por supuesto. La mayoría de las distribuciones de Linux tienen hexdumppor defecto (pero obviamente no todas).

tiránido
fuente
1
Me gusta esta idea, pero al igual que las otras sugerencias, solo genera hexadecimal. Obviamente, esto es mucho más compacto que el binario, pero estoy tratando con archivos muy pequeños, por lo que se prefiere el binario. ¿Es hexadecimal la única forma en que podré ver el archivo?
adam_0
1
Bueno, ¿qué tan pequeño es el archivo? Cualquier cosa sobre un par de bytes y comenzarás a perder la cabeza usando binarios de todos modos. Hex tiene mucho más sentido para la mayoría de las cosas. Si no se siente cómodo con el hexadecimal, simplemente ubique los bytes que le interesan y conviértalos utilizando una calculadora hexadecimal.
Pato
3
Necesito asegurarme de que mi archivo se esté comprimiendo correctamente y no sé cómo debería verse en hexadecimal (el tamaño de cada unidad es de 7 bits), por lo que tendría que descifrar los números a mano.
adam_0
¿Tienes algún método para ver el texto del archivo binario? Puedo obtener el código HEX, pero ¿cómo debo decodificarlo en texto humano normal?
Lukas Liesis
¿Qué pasa con la salida de hexdump -C data.bin | hexdump -C
cyb0k
69
vi your_filename

golpear esc

Escriba :%!xxdpara ver las cadenas hexadecimales, y la n :%!xxd -rpara volver a la edición normal.

Pato
fuente
¿He encontrado la :%!xxdadición de caracteres no deseados, es decir, una nueva línea a mi archivo?
Quazi Irfan
27

Como alternativa siempre hay od -xc filename

Jim Garrison
fuente
13

Si desea abrir archivos binarios (en CentOS 7):

strings <binary_filename>
Raju
fuente
OMI, esta es la más simple y elegante de todas las respuestas. Desearía poder votarlo más de una vez.
Olumide
La mejor respuesta sin duda. Esto convierte el archivo binario en un archivo JSON. No todos los héroes usan capas, eso es cierto
Shubham Pawar
11

sudo apt-get install bless

Bless es una herramienta GUI que puede ver, editar, buscar y mucho más. Es muy ligero.

siddiq
fuente
1
Si. Encontré que esto es más fácil que Vim.
Paulb
3
$ echo -n 'Hello world!' | hd
00000000  48 65 6c 6c 6f 20 77 6f  72 6c 64 21              |Hello world!|
0000000c
Aalex Gabi
fuente
2
hd es un alias de "hexdump -C" ...?
JAR.JAR.beans
@ JAR.JAR.beans Sí, de hecho. Lo uso porque es más fácil de recordar.
Aalex Gabi
Y porque está presente por defecto en algunos sistemas (Debian).
Aalex Gabi