¿Quiere un volcado hexadecimal (una vista hexadecimal) de sus datos? El comando xxd puede hacer eso por usted.
Como cualquier otro comando normal, toma datos de la entrada o archivo estándar y proporciona una salida hexadecimal. También puede hacer lo contrario y convertir hexadecimales en caracteres normales.
Y en este tutorial, lo guiaré a través de diferentes ejemplos de cómo usar el comando xxd en Linux.
Instale XXD en su sistema Linux
La utilidad xxd no está preinstalada en la mayoría de las distribuciones de Linux, pero se puede instalar fácilmente con el administrador de paquetes predeterminado.
Para la base de Ubuntu / Debian :
sudo apt install xxd
Para Fedora/base RHEL:
sudo dnf install vim-common
Para distribuciones basadas en Arch:
sudo pacman -S xxd
Cómo usar el comando XXD en Linux
Una vez que haya terminado con la instalación, debe seguir la sintaxis del comando dado para usar el comando xxd:
xxd [options] [file]
Para facilitar la comprensión, usaré el archivo llamado Sample.txt
a lo largo del tutorial, que contiene lo siguiente:
Which Linux distro is your daily driver?
1. Ubuntu
2. Debian
3. RHEL
4. Fedora
5. Arch
6. Gentoo
7. LFS (The GOAT)
Para crear un volcado hexadecimal del Sample.txt
archivo, usaré el siguiente comando:
xxd Sample.txt
Claro, puede usar diferentes opciones para modificar el comportamiento predeterminado del comando xdd. Déjame enseñarte como.
Recortar líneas en la salida xxd
El comando xxd le permite recortar líneas de su salida.
Para ello, tendrá que utilizar el -s
marque y agregue cuántas líneas iniciales desea omitir:
xxd -s [lines_to_skip] Filename
Entonces, digamos que desea iniciar el volcado hexadecimal desde la quinta línea, lo que significa que debe recortar las primeras 4 líneas:
xxd -s 0x40 Sample.txt
Y como puedes ver, recortó las primeras 4 líneas y me dio el volcado hexadecimal a partir de la quinta línea.
Pero si desea obtener el volcado hexadecimal de las últimas líneas ¡Tu también puedes hacer eso!
Para obtener el volcado hexadecimal del último número n de las líneas, deberá ejecutar el comando xxd de la siguiente manera:
xxd -s -[Last_n_lines] Filename
Entonces, digamos que quiero obtener el volcado hexadecimal de las últimas 3 líneas, luego usaré lo siguiente:
xxd -s -0x30 Sample.txt

Especificar la longitud de la columna
Es posible que desee especificar cuántas columnas se deben mostrar en lugar de lo que xxd obtiene de forma predeterminada (10).
Para ello, deberá utilizar el -c
marque y agregue cuántas columnas se deben mostrar en la salida:
xxd -c [No_of_columns] Filename
Digamos que quiero la salida en 4 columnas, luego usaré lo siguiente:
xxd -c 4 Sample.txt

Especificar la longitud de salida
Es similar a lo que expliqué en cómo puede recortar la salida, pero aquí puede especificar cuántas líneas de la salida desea desde la primera línea.
Para especificar la longitud de salida, todo lo que tiene que hacer es usar el -l
marque y especifique cuántas líneas de salida desea:
xxd -l [Output_length_in_lines] Filename
Entonces, digamos que solo quiero las primeras 5 líneas del volcado hexadecimal, luego usaré lo siguiente:
xxd -l 0x50 Sample.txt

Obtener salida binaria en lugar de hexadecimal
¡El comando xxd también le permite obtener resultados en binario en lugar de hexadecimal!
Es bastante simple y la salida binaria se puede lograr usando el -b
bandera:
xxd -b Filename
Aquí, convertí mi archivo de texto Sample.txt
a binario:
xxd -b Sample.txt

Obtener salida hexadecimal en letras mayúsculas
Puede encontrar situaciones en las que desee la salida en letras mayúsculas.
Y puede obtener fácilmente la salida hexadecimal en letras mayúsculas usando el -u
bandera como se muestra:
xxd -u Filename

Convertir hexadecimal al texto normal de nuevo
Entonces, si redirigió la salida del hexadecimal a un archivo, hay una manera de volver a la normalidad con bastante facilidad.
Para su referencia, estoy rehaciendo todo el proceso de cómo puede redirigir la salida del volcado hexadecimal al archivo de texto primero:

Así que guardé la salida del volcado hexadecimal en el Hex.txt
.
Ahora, si quiero leer el contenido de la Hex.txt
, tendré que realizar la conversión. De lo contrario, es solo un dolor en la cabeza.
Para revertir este efecto, tendrás que usar el -r
bandera de la manera mostrada:
xxd -r Filename

¿Quieres convertir Hexadecimal a ASCII? ¡Aquí tienes!
Si desea convertir una cadena hexadecimal a ASCII, tenemos una guía detallada para ese propósito:
Espero que encuentre útil esta guía.
Y si tienes alguna duda déjamela en los comentarios.