Mandato od

Finalidad

Muestra los archivos en un formato especificado.

Sintaxis

Cómo mostrar archivos utilizando una cadena de caracteres para dar formato a la salida

od [ -v ] [ -A AddressBase ] [ -N Recuento ] [ -j Omitir ] [ -t TypeString ...] [ Archivo ...]

Cómo mostrar archivos utilizando indicadores para formatear la salida

od-a ] [  -b ] [  C. ] [  -C ] [  -d ] [  -D ] [  -e ] [  -f ] [  -F ] [  -h ] [  -H ] [  -i ] [  -I ] [  -l ] [  -L ] [  -o ] [  -O ] [  -p ] [  -P ] [  -s ] [  -v ] [  -x ] [  -X ] [ [  -S ] ] [  -w ] ] [ Archivo ] [ [ OffsetB) ] [ Etiqueta B) ] ] [ Archivo ... ]

Descripción

El mandato od visualiza el archivo especificado por el parámetro Archivo en el formato especificado. Si no se da el parámetro Archivo , el mandato od lee la entrada estándar. Se pueden especificar varios tipos utilizando varias opciones -bcCDdFfOoSstvXx.

En el primer formato de sintaxis, el formato de salida se especifica mediante el distintivo T . Si no se especifica ningún tipo de formato, -t o2 es el valor predeterminado.

En el segundo formato de sintaxis, el formato de salida se especifica mediante una combinación de distintivos. El parámetro Offset especifica el punto del archivo donde empieza la salida del archivo. De forma predeterminada, el parámetro Offset se interpreta como octal bytes. Si el . Se añade el sufijo (punto), el parámetro se interpreta como un decimal; si el parámetro comienza con una direcciónxo0x, se trata como un hexadecimal. Si el sufijo b se añade al parámetro, se interpreta en bloques de 512 bytes; si el sufijo B) se añade al parámetro, se interpreta en bloques de 1024 bytes.

El parámetro Etiqueta se interpreta como una pseudo dirección para el primer byte visualizado. Si se utiliza, se proporciona en ( ) (paréntesis) siguiendo el parámetro Offset . Los sufijos tienen los mismos significados que para el parámetro Offset .

Cuando el mandato od lee la entrada estándar, el parámetro Offset y el parámetro Etiqueta deben ir precedidos por un + (signo más).

El establecimiento de variables de entorno como LANG y LC_ALL afecta a la operación del mandato od .

El mandato od copia secuencialmente cada archivo de entrada, los graba en la salida estándar y transforma los datos de entrada de acuerdo con los tipos de salida que se especifican utilizando el distintivo T . El número predeterminado de bytes en los datos de entrada corresponde al tamaño de los caracteres de especificador de tipo d, o, u, o x. Estos caracteres especificadores de tipo le permiten especificar un número opcional de bytes en los datos de entrada que corresponde al número de bytes en los tipos de datos char, corto, inty Largo en el lenguaje de programación C. El número de bytes también se puede especificar utilizando una aplicación (cualquier programa o caso de uso que utilice el mandato od ) en el que se utiliza el carácter C para el tipo de datos char , se utiliza el carácter S para el tipo de datos corto , se utiliza el carácter I para el tipo de datos int y se utiliza el carácter L para el tipo de datos Largo . Los caracteres especificadores de tipo soportan los valores 1, 2, 4 y 8 aunque el tipo de datos según el lenguaje de programación C no se especifica para el tamaño de los datos de entrada. Los caracteres especificadores de tipo también soportan el valor decimal similar al tipo de datos long long en el lenguaje de programación C.

Distintivos

Los distintivos para el primer formato son:

Elemento Descripción
-A AddressBase Especifica la base de desplazamiento de entrada. La variable AddressBase es uno de los siguientes caracteres:
d
La base de desplazamiento se escribe en decimal.
o
La base de desplazamiento se escribe en octal.
X
La base de desplazamiento se escribe en hexadecimal.
n
La base de desplazamiento no se visualiza.

A menos que se especifique -A n , la línea de salida irá precedida del desplazamiento de entrada, acumulativo entre los archivos de entrada, del siguiente byte que se escribirá. Además, el desplazamiento del byte que sigue al último byte escrito se visualizará después de que se hayan procesado todos los datos de entrada. Sin la opción address_base de -R y el operando [offset_string], la base de desplazamiento de entrada se visualiza en octal.

-j Omitir

Salta sobre el número de bytes dados por la variable Omitir antes de empezar a visualizar la salida. Si se especifica más de un archivo, el mandato od salta sobre el número designado de bytes de los archivos de entrada concatenados antes de visualizar la salida. Si la entrada combinada no es al menos la longitud de los bytes de salto, el mandato od grabará un mensaje de diagnóstico en un error estándar y saldrá del estado distinto de cero.

De forma predeterminada, el valor de la variable Omitir se interpreta como un número decimal. Con un 0x líder o 0X, el desplazamiento se interpreta como un número hexadecimal; de lo contrario, con un 0 inicial, el desplazamiento se interpretará como un número octal. Si los caracteres b, ko m se añaden al número contenido por la variable Omitir , el desplazamiento es igual al valor, en bytes, de la variable Omitir multiplicada por 512, 1024 o 1024 * 1024, respectivamente.

-N Recuento Formatea no más que el número de bytes de entrada especificados por la variable Recuento . De forma predeterminada, el valor de la variable Recuento se interpreta como un número decimal. Con un 0x líder o 0X, se trata como un número hexadecimal. Si comienza con un 0, se trata como un número octal. La base de la dirección visualizada no está implícita en la base del argumento de opción Recuento .
-t TypeString Especifica el tipo de salida. La variable TypeString es una serie que especifica los tipos que deben utilizarse al escribir datos. Se pueden concatenar varios tipos dentro de la misma variable TypeString y el distintivo -t se puede especificar más de una vez. Las líneas de salida se escriben para cada tipo especificado, en el orden en que se dan los caracteres de especificación de tipo. La variable TypeString puede constar de los siguientes caracteres:
<
Muestra bytes como caracteres con nombre. Los bytes con menos de siete bits en el rango de 0 a 01777 se escriben utilizando los nombres correspondientes para esos caracteres.
c
Muestra bytes como caracteres. El número de bytes transformados por la serie de tipo c lo determina la categoría local LC_CTYPE . Los caracteres multibyte imprimibles se escriben en el área correspondiente al primer byte del carácter; la secuencia de dos caracteres ** se escribe en el área correspondiente a cada byte restante del carácter, como indicación de que el carácter continúa. Los siguientes caracteres no gráficos se utilizan como secuencias de escape en lenguaje C:
\    Backslash
\a   Alert
\b   Backspace
\f   Form-feed
\n   New-line character
\0   Null
\r   Carriage return
\t   Tab
\v   Vertical tab
d
Muestra bytes como decimales firmados. De forma predeterminada, el mandato od transforma el número correspondiente de bytes en el tipo de lenguaje C int. La serie de tipo d puede ir seguida de un entero decimal sin signo que especifica el número de bytes que debe transformar cada instancia del tipo de salida.

Se puede añadir un carácter opcional C, I, Lo S a la opción d , lo que indica que la conversión debe aplicarse a un elemento de tipo char, int, Largoo corto, respectivamente.

f
Muestra bytes como puntos flotantes. De forma predeterminada, el mandato od transforma el número correspondiente de bytes en el tipo de lenguaje C doble. La serie de tipo f puede ir seguida de un entero decimal sin signo que especifica el número de bytes que debe transformar cada instancia del tipo de salida.

Se puede añadir un carácter opcional F, Do L a la opción f , lo que indica que la conversión debe aplicarse a un elemento de tipo float, dobleo Largo doble, respectivamente.

o
Muestra bytes como octales. De forma predeterminada, el mandato od transforma el número correspondiente de bytes en el tipo de lenguaje C int. La serie de tipo o puede ir seguida de un entero decimal sin signo que especifica el número de bytes que debe transformar cada instancia del tipo de salida.

Se puede añadir un carácter opcional C, I, Lo S a la opción o , lo que indica que la conversión debe aplicarse a un elemento de tipo char, int, Largoo corto, respectivamente.

u
Mostrar bytes como decimales sin signo. De forma predeterminada, el mandato od transforma el número correspondiente de bytes en el tipo de lenguaje C int. La serie de tipo u puede ir seguida de un entero decimal sin signo que especifica el número de bytes que debe transformar cada instancia del tipo de salida.

Se puede añadir un carácter opcional C, I, Lo S a la opción u , lo que indica que la conversión debe aplicarse a un elemento de tipo char, int, Largoo corto, respectivamente.

X
Mostrar bytes como hexadecimales. De forma predeterminada, el mandato od transforma el número correspondiente de bytes en el tipo de lenguaje C int. La serie de tipo x puede ir seguida de un entero decimal sin signo que especifica el número de bytes que debe transformar cada instancia del tipo de salida.

Se puede añadir un carácter opcional C, I, Lo S a la opción x , lo que indica que la conversión debe aplicarse a un elemento de tipo char, int, Largoo corto, respectivamente.

-v Graba todos los datos de entrada. De forma predeterminada, las líneas de salida que son idénticas a las líneas de salida inmediatamente anteriores no se imprimen, sino que se sustituyen por una línea que sólo contiene un * (asterisco). Cuando se especifica el distintivo -v , se imprimen todas las líneas.

Los distintivos para el segundo formato son:

Elemento Descripción
-a Muestra bytes como caracteres y los muestra con sus nombres ASCII. Si también se da el distintivo -p , se subrayan los bytes con paridad par. El distintivo -P hace que se subrayen los bytes con paridad impar. De lo contrario, se ignora la paridad.
-b Muestra bytes como valores octales.
-c Muestra bytes como caracteres ASCII. Los siguientes caracteres no gráficos aparecen como secuencias de escape en lenguaje C:
\    Backslash
\a   Alert
\b   Backspace
\f   Form-feed
\n   New-line character
\0   Null
\r   Carriage return
\t   Tab
\v   Vertical tab

Otros aparecen como números octales de tres dígitos.

-C Muestra caracteres ampliados como caracteres ASCII imprimibles estándar (utilizando la serie de escape de caracteres adecuada) y muestra caracteres de varios bytes en formato hexadecimal.
-d Muestra palabras de 16 bits como valores decimales sin signo.
-d Muestra palabras largas como valores decimales sin signo.
-e Muestra palabras largas como doble precisión, coma flotante. (igual que el distintivo -F )
-f Muestra palabras largas como puntos flotantes.
-F Muestra palabras largas como doble precisión, coma flotante. (igual que el distintivo -e )
-h Muestra palabras de 16 bits como hexadecimal sin signo.
-h Muestra palabras largas como valores hexadecimales sin signo.
-i Muestra palabras de 16 bits como decimal con signo.
-I (Mayúsculas i) Muestra palabras largas como valores decimales firmados.
-l (L en minúsculas) Muestra palabras largas como valores decimales firmados.
-l Muestra palabras largas como valores decimales firmados.
-o Muestra palabras de 16 bits como octal sin signo.
-O Muestra palabras largas como valores octales sin signo.
-p Indica incluso paridad en la conversión de -a .
-P Indica paridad impar en la conversión de -a .
-s Muestra palabras de 16 bits como valores decimales firmados.
-S[N] Busca series de caracteres que terminan con un byte nulo. La variable N especifica la serie de longitud mínima que se debe reconocer. Si se omite la variable N , la longitud mínima predeterminada es de 3 caracteres.
-v Graba todos los datos de entrada. De forma predeterminada, las líneas de salida que son idénticas a las líneas de salida inmediatamente anteriores no se imprimen, sino que se sustituyen por una línea que sólo contiene un * (asterisco). Cuando se especifica el distintivo -v , se imprimen todas las líneas.
-w [N] Especifica el número de bytes de entrada que se deben interpretar y visualizar en cada línea de salida. Si no se especifica el distintivo -w , se leen 16 bytes para cada línea de visualización. Si se especifica el distintivo -w sin la variable N , se leen 32 bytes para cada línea de visualización. El valor de entrada máximo es de 4096 bytes. Los valores de entrada superiores a 4096 bytes se reasignarán al valor máximo.
-x Muestra palabras de 16 bits como valores hexadecimales.
-X Muestra palabras largas como valores hexadecimales sin signo. (igual que el distintivo -H )

Nota: Los distintivos -I (mayúsculas i), -l (minúsculas L) y -L son idénticos.

Estado de salida

Este mandato devuelve los siguientes valores de salida:

Elemento Descripción
0 Todos los archivos de entrada se han procesado satisfactoriamente.
>0 Se ha producido un error.

Ejemplos

  1. Para visualizar un archivo en octal, una página a la vez, especifique:
    od a.out | pg
    Este mandato visualiza ela.outen formato octal y conductos la salida a través del mandato pg .
  2. Para convertir un archivo en varios formatos a la vez, especifique:
    od -t cx a.out > a.xcd
    Este mandato graba el contenido de laa.out, en formato hexadecimal ( x) y formato de caracteres ( c), en ela.xcd.xlsx
  3. Para empezar a visualizar un archivo en el medio (utilizando el primer formato de sintaxis), entre:
    od -t acx -j 100 a.out
    Este mandato visualiza ela.outen formato de caracteres con nombre ( a), caracteres ( c) y hexadecimal ( x), empezando por el byte de 100th .
  4. Para empezar en medio de un archivo (utilizando el segundo formato de sintaxis), entre:
    od -bcx a.out +100.
    Muestra el archivo a.out en formato octal-byte ( -b), carácter ( -c) y hexadecimal ( -x), a partir del byte 100th . El . (punto) después de que el desplazamiento lo convierte en un número decimal. Sin el punto, la salida empezaría desde el byte 64th (100 octales).

Archivos

Elemento Descripción
/usr/bin/od Contiene el mandato od .