Entrada estándar

De Wikipedia, la enciclopedia libre
Saltar a: navegación, búsqueda

La entrada estándar (STDIN) es un concepto típico de los sistemas operativos Unix.

Cada proceso en estos entornos suele disponer de tres archivos abiertos al comienzo de su ejecución: la entrada, la salida y la salida de errores. Adquieren carácter de estándar porque suelen estar asignados a descriptores de archivos conocidos, de manera que un programa siempre tomará los datos de entrada por el descriptor cero, enviará los resultados por el uno y mostrará los errores por el dos. Pero esto es mera convención, y no tiene mucho sentido en sistemas gráficos como X Window o en programas funcionando como demonio.

Una forma de referirse a ellas es usando, según el lenguaje de programación y el entorno letras mayúsculas o minúsculas, los nombres STDIN, STDOUT y STDERR.

El shell del sistema es el encargado, generalmente, de abrir esta entrada y conectarla con el terminal al que está asignado el programa, puesto que es el programa más usual para comunicarse con un operador.

La entrada estándar también se suele conectar a la salida estándar de un proceso, de manera que el programa lea directamente los resultados que otro produce. En Unix se utiliza el carácter | para expresar dicho tipo de conexión:

$ programa1 | programa2 | programa3

Lo que viene a significar que se ejecuta el programa1 y su salida estándar (descriptor de archivo 1) se conecta con la entrada estándar del programa2 (descriptor 0), que a su vez hace lo mismo con programa3.

Salida estándar[editar]

La salida estándar (STDOUT) es un concepto típico de los sistemas operativos Unix.

Determina el destino del resultado de un programa o proceso, por defecto es la pantalla y se muestra el resultado en la consola de la terminal, sin embargo puede redirigirse hacia un archivo por ejemplo.

Ejemplo:

ls -l > miarchivo.txt