od (Unix)

De Wikipedia, la enciclopedia libre
od
Parte de GNU Core Utilities
Información general
Tipo de programa Orden
Autor AT&T Bell Laboratories
Desarrollador Varios desarrolladores de código abierto y comercial.
Lanzamiento inicial 03 de noviembre de 1971
Licencia coreutils: GPLv3+
Información técnica
Plataformas admitidas Multiplataforma

od es una orden en varios sistemas operativos para mostrar datos en varios formatos de salida legibles por humanos. El nombre es un acrónimo de "octal dump" ("volcado octal" en español) ya que por defecto imprime en el formato de datos octal.

Visión general[editar]

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

od es uno de los primeros programas Unix, habiendo aparecido en la versión 1 de AT&T Unix. También está especificado en los estándares POSIX. La implementación para od utilizada en sistemas Linux es normalmente proporcionada por GNU Core Utilities.

Dado que es anterior a Bourne shell, su existencia causa una inconsistencia en la sintaxis del bucle do. Otros bucles y bloques lógicos se abren por el nombre, y se cierran por el nombre invertido, por ejemplo, if ... fi y case ... esac, pero la existencia de od hace necesario do ... done.

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

Ejemplo[editar]

Normalmente un volcado de un fichero ejecutable es muy largo. El programa head imprime las primeras líneas de la salida. He aquí un ejemplo de volcado del programa "Hola mundo", redirigido a través de head.

% od hola | head
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

He aquí un ejemplo de od utilizado para diagnosticar la salida de echo donde el usuario teclea Ctrl+V+Ctrl+I y Ctrl+V+Ctrl+C después de escribir "Hola" para insertar literalmente un tab y el carácter ^C:

% echo "Hola    ^C" | od -cb
0000000   H   o   l   a  \t 003  \n
        110 157 154 141 011 003 012
0000010

Véase también[editar]

Referencias[editar]

  1. .«Puertos Win32 nativos de algunas utilidades GNU». unxutils.sourceforge.net. 
  2. .IBM. «IBM System i Version 7.2 Programming Qshell». Consultado el 5 de septiembre de 2020. 

Enlaces externos[editar]