Respuestas:
hd
es un sinónimo para hexdump -C
el FreeBSD y en algunas distribuciones de Linux. hexdump
es de los días BSD ; od
Es desde los albores del tiempo . Solo od
está estandarizado por POSIX . La justificación Single UNIX discute por qué od
se eligió con preferencia a hd
o xd
.
Estos comandos hacen cosas muy similares: mostrar una representación textual de un archivo binario, usando notación octal, decimal o hexadecimal. No hay diferencia fundamental entre los dos.
Tienen muchas opciones para controlar el formato de salida, y algunos formatos solo se pueden lograr con uno u otro comando. En particular, para ver un vistazo de lo que hay en un archivo binario, me gusta hd
el formato de salida, con una columna a la derecha que muestra caracteres imprimibles literalmente; od
No puedo hacer eso.
$ od /bin/sh | head -n 2 # od default: octal, 2-byte words
0000000 042577 043114 000402 000001 000000 000000 000000 000000
0000020 000002 000076 000001 000000 170020 000101 000000 000000
$ od -Ax -t x1 /bin/sh | head -n 2 # od showing bytes in hexadecimal
000000 7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00
000010 02 00 3e 00 01 00 00 00 10 f0 41 00 00 00 00 00
$ hd /bin/sh | head -n 2 # hd default output: nice
00000000 7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00 |.ELF............|
00000010 02 00 3e 00 01 00 00 00 10 f0 41 00 00 00 00 00 |..>.......A.....|
042577
son 18 bits, es decir, 9/4 bytes?
123
es un número representado en base 10 (decimal), mientras 0123
que significa que el número está representado en base 8 (octal), 0123
es decir, 83. 0x123
estaría en base 16 (hexadecimal), es decir, 291. Esto es no relacionado con el od
formato de salida.
En realidad, od
puede mostrar tanto caracteres hexadecimales / oct / dec como imprimibles:
$ od -Ax -tx1z /bin/sh | head -n2
000000 7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00 >.ELF............<
000010 03 00 3e 00 01 00 00 00 32 4e 00 00 00 00 00 00 >..>.....2N......<
La principal diferencia, supongo, es solo histórica. También algunas versiones hd
pueden dar salida al color.
od
no es compatible con el z
sufijo en-tx1z
hd
. Sin embargo, útil, gracias :)
xxd
también! : D