Usando el comando XXD en Linux

¿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
                      
                    
obtenga el volcado hexadecimal de las últimas n líneas usando el comando xxd en Linux

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
                      
                    
especifique el número de columnas en la salida en el comando xxd

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
                      
                    
especifique la longitud de salida en el comando xxd en Linux

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
                      
                    
convertir de texto a binario en linux

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
                      
                    
obtener salida hexadecimal en mayúsculas en Linux

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:

guarde el volcado hexadecimal en el archivo de texto en Linux

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
                      
                    
convertir el volcado hexadecimal al texto normal

¿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.

Related Posts