Articulo de referencia

od (Unix)

od Es un comando presente en varios sistemas operativos para mostrar ("volcado") datos en diversos formatos de salida legibles . Su nombre es un acrónimo de " volcado octal ", y...

odEs un comando presente en varios sistemas operativos para mostrar ("volcado") datos en diversos formatos de salida legibles . Su nombre es un acrónimo de " volcado octal ", ya que por defecto imprime en formato octal .

Descripción general

El odprograma puede mostrar la salida en diversos formatos, como octal , hexadecimal , decimal y ASCII . Resulta útil para visualizar datos que no están en un formato legible para humanos, como el código ejecutable de un programa, o cuando su formato principal es ambiguo (por ejemplo, algunos caracteres latinos, griegos y cirílicos que se parecen).

odes uno de los programas Unix más antiguos , habiendo aparecido en la versión 1 de AT&T Unix . También está especificado en los estándares POSIX . La implementación odutilizada en sistemas Linux suele ser proporcionada por GNU Core Utilities .

Dado que es anterior al Bourne shell , su existencia provoca una inconsistencia en la dosintaxis de los bucles. Otros bucles y bloques lógicos se abren con el nombre y se cierran con el nombre invertido, por ejemplo , if ... fiy case ... esac, pero odla existencia de requiere do ... done.

El comando está disponible como un paquete independiente para Microsoft Windows como parte de la colección UnxUtils de puertos nativos Win32 de utilidades comunes tipo GNU Unix. [ 1 ] El comando od también se ha portado al sistema operativo IBM i . [ 2 ]

Sesión de ejemplo

Normalmente, el contenido de un archivo ejecutable es muy extenso. El headprograma imprime las primeras líneas de la salida. Aquí hay un ejemplo del contenido del programa "Hola mundo" , procesado mediante una tubería.

% de hola | cabeza 0000000 042577 043114 000401 000001 000000 000000 000000 000000 0000020 000002 000003 000001 000000 101400 004004 000064 000000 0000040 003610 000000 000000 000000 000064 000040 000006 000050 0000060 000033 000030 000006 000000 000064 000000 100064 004004 0000100 100064 004004 000300 000000 000300 000000 000005 000000 0000120 000004 000000 000003 000000 000364 000000 100364 004004 0000140 100364 004004 000023 000000 000023 000000 000004 000000 0000160 000001 000000 000001 000000 000000 000000 100000 004004 0000200 100000 004004 002121 000000 002121 000000 000005 000000 0000220 010000 000000 000001 000000 002124 000000 112124 004004

Aquí hay un ejemplo de odcómo se utiliza para diagnosticar la salida de echodonde el usuario escribe Ctrl+ V+ Ctrl+I y + + + después de escribir "Hola" para insertar literalmente una tabulación y un carácter:CtrlVCtrlC^C

% echo "Hola ^C" | od -cb 0000000 Hola \t 003 \n  110 145 154 154 157 011 003 012 0000010

odse puede utilizar para obtener números aleatorios del generador de números aleatorios de calidad criptográfica /dev/urandom . Por ejemplo: [ 3 ]

$ od -vAn -N1 -td1 < /dev/urandom # 1 byte decimal con signo -78 $ od -vAn -N4 -tu4 < /dev/urandom # 4 bytes decimal sin signo 3394619386 $ od -vAn -N8 -tx8 < /dev/urandom # 8 bytes hexadecimal eed2dedced30591a

Véase también

Referencias

  1. "Adaptaciones nativas de Win32 de algunas utilidades GNU" . unxutils.sourceforge.net . Archivado del original el 9 de febrero de 2006. Consultado el 3 de febrero de 2026 .
  2. IBM . "IBM System i Versión 7.2 Programación Qshell" (PDF) . IBM . Archivado (PDF) del original el 18-09-2020 . Recuperado el 05-09-2020 .
  3. EightBitTony. "Uso de /dev/random y /dev/urandom para generar datos aleatorios" . Unix & Linux Stack Exchange .