Este es el comando xxd que se puede ejecutar en el proveedor de alojamiento gratuito de OnWorks utilizando una de nuestras múltiples estaciones de trabajo en línea gratuitas, como Ubuntu Online, Fedora Online, emulador en línea de Windows o emulador en línea de MAC OS.
PROGRAMA:
NOMBRE
xd - haz un hexdump o haz lo contrario.
SINOPSIS
xd -ayuda]
xd [opciones] [infile [outfile]]
xd -r [evert] [opciones] [infile [outfile]]
DESCRIPCIÓN
xd crea un volcado hexadecimal de un archivo dado o una entrada estándar. También puede convertir un volcado hexadecimal
de vuelta a su forma binaria original. Igual que código uuen(1) y código uude(1) permite
transmisión de datos binarios en una representación ASCII "segura para correo", pero tiene la ventaja
de decodificación a salida estándar. Además, se puede utilizar para realizar parches de archivos binarios.
CAMPUS
Si no es correcto en archivo se da, se lee la entrada estándar. Si en archivo se especifica como un '-' personaje,
luego, la entrada se toma de la entrada estándar. Si no archivar se da (o un `-'personaje está en
su lugar), los resultados se envían a la salida estándar.
Tenga en cuenta que se utiliza un analizador "perezoso" que no comprueba más que la primera opción
letra, a menos que la opción vaya seguida de un parámetro. Espacios entre una sola opción
La letra y su parámetro son opcionales. Los parámetros de las opciones se pueden especificar en decimal,
notación hexadecimal u octal. Por lo tanto -c8, -c 8, -c 010 y -columnas 8 son todos equivalentes.
-a | -salto automático
toggle autoskip: Un solo '*' reemplaza las líneas nulas. Por defecto desactivado.
-b | -bits
Cambie al volcado de bits (dígitos binarios), en lugar de hexdump. Esta opción escribe
octetos como "1" y "0" de ocho dígitos en lugar de un volcado hexadecimal normal. Cada
La línea está precedida por un número de línea en hexadecimal y seguida por un ascii (o
ebcdic) representación. Los interruptores de línea de comando -r, -p, -i no funcionan con esto
modo.
-c cols | -columnas cols
formatocols> octetos por línea. Por defecto 16 (-i: 12, -ps: 30, -b: 6). Máximo 256.
-E | -EBCDIC
Cambie la codificación de caracteres en la columna de la derecha de ASCII a EBCDIC. Esta
no cambia la representación hexadecimal. La opción no tiene sentido en
combinaciones con -r, -p o -i.
-e Cambie a hexdump little-endian. Esta opción trata los grupos de bytes como palabras en
orden de bytes little-endian. La agrupación predeterminada de 4 bytes se puede cambiar usando -g.
Esta opción solo se aplica a hexdump, dejando la representación ASCII (o EBCDIC)
sin alterar. Los interruptores de línea de comando -r, -p, -i no funcionan con este modo.
-g bytes | -tamaño del grupo bytes
separar la salida de cadabytes> bytes (dos caracteres hexadecimales u ocho dígitos de bits
cada uno) por un espacio en blanco. Especificar -g 0 para suprimir la agrupación.Bytes> predeterminado a 2
en modo normal, 4 en modo little-endian y 1 en modo bits. La agrupación no
aplicar a posdata o incluir estilo.
-h | -ayuda
imprima un resumen de los comandos disponibles y salga. No se realiza ningún vaciado hexadecimal.
-i | -incluir
salida en C incluye estilo de archivo. Se escribe una definición completa de matriz estática
(nombrado después del archivo de entrada), a menos que xxd lea de stdin.
-l len | -len len
parar después de escribirlen> octetos.
-o compensar
agregarcompensar> a la posición del archivo mostrado.
-p | -PD | -posdata | -llanura
salida en estilo hexdump continuo postscript. También conocido como estilo simple hexdump.
-r | -revertir
operación inversa: convierta (o parchee) hexdump en binario. Si no escribes a
stdout, xxd escribe en su archivo de salida sin truncarlo. Usa la combinación
-r -p para leer volcados hexadecimales simples sin información de número de línea y sin un
diseño de columna particular. Se permiten espacios en blanco y saltos de línea adicionales
en cualquier lugar.
-buscar compensar
Cuando se usa después -r: revertir concompensar> agregado a las posiciones de archivo que se encuentran en hexdump.
-s [+] [-] buscar
Empieza enbuscar> bytes abs. (o rel.) desplazamiento de archivo. + indica que la búsqueda es
relativo a la posición actual del archivo stdin (sin sentido cuando no se lee de
entrada estándar). - indica que la búsqueda debe ser que muchos personajes del final de
la entrada (o si se combina con +: antes de la posición actual del archivo stdin). Sin
-s opción, xxd comienza en la posición actual del archivo.
-u use letras mayúsculas hexadecimales. El valor predeterminado es minúscula.
-v | -versión
muestre la cadena de la versión.
AVISOS
xd -r tiene algo de magia incorporada al evaluar la información del número de línea. Si la salida
archivo es buscable, entonces los números de lino al comienzo de cada línea de vertido hexagonal pueden estar fuera de
orden, las líneas pueden faltar o superponerse. En estos casos xxd buscar(2) al siguiente
posición. Si el archivo de salida no se puede buscar, solo se permiten espacios, que se llenarán
por bytes nulos.
xd -r nunca genera errores de análisis. La basura se salta silenciosamente.
Al editar hexdumps, tenga en cuenta que xd -r omite todo en la línea de entrada después
leer suficientes columnas de datos hexadecimales (consulte la opción -c). Esto también significa que cambia
a las columnas ascii (o ebcdic) imprimibles siempre se ignoran. Revertir una llanura (o
postscript) estilo hexdump con xxd -r -p no depende del número correcto de columnas.
Aquí se interpreta cualquier cosa que parezca un par de dígitos hexadecimales.
Note la diferencia entre
% xd -i presentar
y
% xd -i < presentar
xd -s + buscar puede ser diferente de xd -s buscar, ya que buscar(2) se utiliza para "rebobinar" la entrada. A
'+' hace una diferencia si la fuente de entrada es stdin, y si la posición del archivo stdin no es
al principio del archivo en el momento en que se inicia xxd y se le da su entrada. El seguimiento
Los ejemplos pueden ayudar a aclarar (¡o confundir aún más!) ...
Rebobinar stdin antes de leer; necesario porque el 'gato' ya ha leído hasta el final de
entrada estándar
% sh -c "gato > copia_plana; xd -s 0 > copia_hex " < presentar
Hexdump desde la posición de archivo 0x480 (= 1024 + 128) en adelante. El signo '+' significa "relativo al
posición actual ", por lo que el` 128 'se suma al 1k donde lo dejó dd.
% sh -c "dd of = plain_snippet bs = 1k cuenta = 1; xd -s +128 > hex_snippet " < presentar
Hexdump desde la posición de archivo 0x100 (= 1024-768) en.
% sh -c "dd of = plain_snippet bs = 1k cuenta = 1; xd -s + -768 > hex_snippet " < presentar
Sin embargo, esta es una situación poco común y rara vez se necesita el uso de "+". El autor prefiere
para monitorear el efecto de xxd con rastro(1) o braguero(1), siempre que se utilice -s.
EJEMPLOS
Imprima todo menos las primeras tres líneas (hexadecimal 0x30 bytes) de presentar.
% xd -s 0x30 presentar
Imprima 3 líneas (hexadecimal 0x30 bytes) desde el final de presentar.
% xd -s -0x30 presentar
Imprime 120 bytes como hexdump continuo con 20 octetos por línea.
% xd -l 120 -PD -c 20 xxd.1
2e54482058584420312022417567757374203139
39362220224d616e75616c207061676520666f72
20787864220a2e5c220a2e5c222032317374204d
617920313939360a2e5c22204d616e2070616765
20617574686f723a0a2e5c2220202020546f6e79
204e7567656e74203c746f6e79407363746e7567
Hexdump los primeros 120 bytes de esta página de manual con 12 octetos por línea.
% xd -l 120 -c 12 xxd.1
0000000: 2e54 4820 5858 4420 3120 2241 .TH XXD 1 "A
000000c: 7567 7573 7420 3139 3936 2220 agosto de 1996 "
0000018: 224d 616e 7561 6c20 7061 6765 "Página del manual
0000024: 2066 6f72 2078 7864 220a 2e5c para xxd ".. \
0000030: 220a 2e5c 2220 3231 7374 204d ".. \" 21st M
000003c: 6179 2031 3939 360a 2e5c 2220 ay 1996 .. \ "
0000048: 4d61 6e20 7061 6765 2061 7574 Página de manual aut
0000054: 686f 723a 0a2e 5c22 2020 2020 hor: .. \ "
0000060: 546f 6e79 204e 7567 656e 7420 Tony Nugent
000006c: 3c74 6f6e 7940 7363 746e 7567
Muestra solo la fecha del archivo xxd.1
% xd -s 0x36 -l 13 -c 13 xxd.1
0000036: 3231 7374 204d 6179 2031 3939 36 21 de mayo de 1996
Copiar fichero de entrada a archivo de salida y anteponer 100 bytes de valor 0x00.
% xd fichero de entrada | xd -r -s 100 > archivo de salida
Parche la fecha en el archivo xxd.1
% echo "0000037: 3574 68" | xd -r - xxd.1
% xd -s 0x36 -l 13 -c 13 xxd.1
0000036: 3235 7468 204d 6179 2031 3939 36 25 de mayo de 1996
Cree un archivo de 65537 bytes con todos los bytes 0x00, excepto el último que es 'A' (hex
0x41).
% echo "010000: 41" | xd -r > presentar
Hexdump este archivo con autoskip.
% xd -a -c 12 presentar
0000000: 0000 0000 0000 0000 0000 0000 .............
*
000fffc: 0000 0000 40 .... A
Cree un archivo de 1 byte que contenga un solo carácter 'A'. El número después de '-r -s' se suma a
los números de lino encontrados en el archivo; en efecto, se suprimen los bytes iniciales.
% echo "010000: 41" | xd -r -s -0x10000 > presentar
Utilice xxd como filtro dentro de un editor como empuje(1) para hexdump una región marcada entre 'a'
y 'z'.
: 'a,' z! xxd
Utilice xxd como filtro dentro de un editor como empuje(1) para recuperar un hexdump binario marcado
entre 'a' y 'z'.
: 'a,' z! xxd -r
Utilice xxd como filtro dentro de un editor como empuje(1) para recuperar una línea de un hexdump.
Mueva el cursor sobre la línea y escriba:
!! xxd -r
Leer caracteres individuales de una línea serial
% xd -c1 < / dev / term / b &
% pocilga < / dev / term / b -eco -post -isig -icono min 1
% echo -n foo > / dev / term / b
DEVOLUCION VALORES
Se devuelven los siguientes valores de error:
0 no se encontraron errores.
-1 operación no admitida ( xd -r -i todavía imposible).
1 error al analizar las opciones.
2 problemas con el archivo de entrada.
3 problemas con el archivo de salida.
4,5 la posición de búsqueda deseada es inalcanzable.
Use xxd en línea usando los servicios de onworks.net