Descripción general
xxd, al igual que `hexdump` u `od`, muestra el contenido de archivos binarios en formato hexadecimal y como cadenas ASCII. Sin embargo, su característica más destacada es la **función de reconversión (reverse)**, que permite transformar el contenido volcado de nuevo en el archivo binario original. Gracias a esta función, es posible modificar archivos binarios en formato hexadecimal utilizando un editor de texto y luego guardarlos de nuevo como archivos binarios con `xxd -r`. Esta flexibilidad es muy potente para el análisis y la modificación de archivos binarios, especialmente cuando se usa junto con el editor `vim`.
Características principales
Las características principales del comando xxd son las siguientes:
- Muestra el contenido de un archivo en formato hexadecimal y ASCII.
- Puede reconvertir un volcado hexadecimal a su binario original.
- Se puede utilizar para modificar archivos binarios junto con editores de texto normales.
- Ofrece diversas opciones para controlar el formato de salida en detalle.
Diferencias entre xxd y hexdump
xxd y hexdump tienen funciones de volcado hexadecimal similares, pero la mayor diferencia radica en la presencia o ausencia de la función de reconversión.
- xxd: Proporciona la función de `reversión` (`-r`) para convertir un volcado hexadecimal de nuevo en el binario original. Tiene una potente integración con `vim`.
- hexdump: Es una herramienta centrada únicamente en la función de volcado, no tiene función de reconversión.
Opciones principales
Hemos agrupado las opciones de uso frecuente del comando xxd según su propósito.
1) 덤프 및 역변환 옵션
2) 도움말
Comando generado:
Combina los comandos.
Descripción:
`xxd` Ejecutando el comando.
Combina las opciones anteriores para ejecutar virtualmente los comandos junto con la IA.
Ejemplos de uso
Aprenda las funciones del comando xxd a través de varios ejemplos de uso.
Volcar contenido de archivo en hexadecimal
echo 'Hello World!' > test.txt
xxd test.txt
Muestra el contenido del archivo `test.txt` en caracteres hexadecimales y ASCII.
Guardar volcado hexadecimal en un archivo
xxd /bin/ls > ls_dump.txt
Guarda el contenido del archivo binario `/bin/ls` en el archivo `ls_dump.txt`.
Reconvertir archivo de volcado a original
xxd -r ls_dump.txt ls_copy
Revierte el archivo `ls_dump.txt` previamente guardado a su archivo binario original `ls_copy`. **Esta es la característica más importante de xxd.**
Editar archivos binarios con vim
vim file.bin
(vim에서) :%!xxd
(편집)
(vim에서) :%!xxd -r
En `vim`, use el comando `%!xxd` para cambiar el archivo actual al modo de volcado hexadecimal, edítelo y luego revierta y guarde con `%!xxd -r`.
Instalación
xxd está incluido en el paquete `vim`. Dado que la mayoría de las distribuciones de Linux tienen el paquete `vim-common` o `vim` instalado por defecto, no se requiere una instalación separada.
Debian/Ubuntu
sudo apt update
sudo apt install -y vim-common
RHEL/CentOS/Fedora
sudo dnf install -y vim-common
Consejos y precauciones
Aquí hay algunos puntos a tener en cuenta al usar el comando xxd.
Consejos
- La opción `-r` de `xxd` solo puede reconvertir correctamente los archivos de volcado generados por `xxd` mismo. Puede que no funcione con archivos de volcado hexadecimal de otros formatos.
- Debe tener mucho cuidado al modificar archivos binarios. Un solo byte incorrecto puede corromper todo el programa.
- Al reconvertir, siempre es seguro guardar con un nombre de archivo diferente para evitar sobrescribir el archivo original. (Ej: `xxd -r old.hex > new.bin`)