Similar a od, xxd produce un volcado hexadecimal o binario de un archivo en varios formatos diferentes. También puede hacer lo contrario, convirtiendo de su formato de volcado hexadecimal a los datos originales. Por ejemplo, aquí hay un volcado hexadecimal del archivo binario /usr/bin/who:
$ xxd /usr/bin/who 0000000: 7f45 4c46 0101 0100 0000 ... 0000 .ELF............ 0000010: 0200 0300 0100 0000 a08c ... 0000 ............4... 0000020: 6824 0000 0000 0000 3400 ... 2800 h$......4. ...(. 0000030: 1900 1800 0600 0000 3400 ... 0408 ........4...4... ...
La columna de la izquierda indica el desplazamiento del archivo de la fila, las siguientes ocho columnas contienen los datos y la columna final muestra los caracteres imprimibles en la fila, si los hay. De forma predeterminada, xxd genera tres columnas:compensaciones de archivo, los datos en hexadecimal y los datos como texto (solo caracteres imprimibles).
Sintaxis:
# xxd [parameter]
Parámetros comunes
Algunos de los parámetros comúnmente utilizados:
Opción de comando | Descripción |
---|---|
-l N | Muestra solo los primeros N bytes. (El valor predeterminado muestra todo el archivo) |
-s N | Omita los primeros N bytes del archivo. |
-s-N | Empieza N bytes desde el final del archivo. (También hay una sintaxis +N para un salto más avanzado a través de la entrada estándar; consulte la página de manual). |
-c N | Muestra N bytes por fila. (Predeterminado=16) |
-g N | Agrupe cada fila de bytes en secuencias de N bytes, separados por espacios en blanco, como od -s. (Predeterminado=2) |
-b | Muestra la salida en binario en lugar de hexadecimal. |
-u | Muestra la salida en mayúsculas hexadecimales en lugar de minúsculas. |
-p | Muestra la salida como un volcado hexadecimal simple, 60 bytes contiguos por línea. |
-r | La operación inversa:convertir de un volcado hexadecimal xxd al formato de archivo original. Funciona con el formato de volcado hexadecimal predeterminado y, si agrega la opción -p, el formato de volcado hexadecimal simple. |
-i | Muestre la salida como una estructura de datos del lenguaje de programación C. Al leer de un archivo, produce una matriz de caracteres sin firmar que contienen los datos y un int sin firmar que contiene la longitud de la matriz. Al leer desde la entrada estándar, solo produce una lista de bytes hexadecimales separados por comas. |
Ejemplos de comandos xxd
1. Use el parámetro -a para omitir automáticamente los espacios en blanco, comenzando desde 0x200, archivo de entrada:
# xxd -a -s +0x200 geek.txt
2. Use los parámetros -a, -c, omita automáticamente los espacios en blanco, muestre 12 bytes por línea, comenzando desde 0x200, ingrese el archivo:
# xxd -a -c 12 -s +0x200 geek.txt
3. Utilice los parámetros -a, -c y -g para omitir automáticamente los espacios en blanco. Cada línea muestra 12 bytes, un byte por línea y 512 bytes de contenido. A partir de 0x200, archivo de entrada:
# xxd -a -c 12 -g 1 -l 512 -s +0x200 geek.txt