La entrada y salida estándar.


Por convención, todo programa en plataformas Unix o Linux posee tres canales básicos por donde fluye la información, estos canales son:

  • Salida Estándar
  • Entrada Estándar
  • Error Estándar

La Entrada Estándar, en inglés standard input(mejor conocido como stdin) es el mecanismo por el cual un usuario le indica a los programas la información que estos deben procesar. Por omisión, el teclado es la entrada estándar. Ejemplos:

usuario@Linux:~$ cat
usuario@Linux:~$ wc

Como se puede apreciar, al ejecutar estos ejemplos sin argumentos, el comando espera a que el usuario inserte información para posteriormente procesarla, dicha información de entrada debe ser proporcionada por la entrada estándar, en este caso por el teclado.

La Salida Estándar, en inglés standard output(mejor conocido como stdout) es el método por el cual el programa puede comunicarse con el usuario. Por default, la salida estándar es la pantalla donde se ejecutaron las instrucciones. Ejemplos:

usuario@Linux:~$  ls -l /etc/hosts /etc/passwd
usuario@Linux:~$ head -10 /etc/shells

Al terminar de procesar la información proveída por los argumentos, el programa desplegará un mensaje en la pantalla donde fue ejecutado. Dicha pantalla o ventana será la salida estándar del programa ejecutado.

Por último existe un flujo conocido como Error Estándar, en inglés standard error output(mejor conocido como stderr) que es utilizado por las instrucciones para desplegar mensajes de error que surgan durante el transcurso de su ejecución. Al igual que stdout, el error estándar será la pantalla donde se procesaron las instrucciones. Ejemplos:

usuario@Linux:~$ rm esteArchivoNoExiste
usuario@Linux:~$ rmdir /carpetaInexistente

De igual forma, stderr desplegará mensajes que indicarán al usuario cuando algo ocurra de una manera errónea.