1.5.1.- Explorar los tipos de flujo

Para empezar a entender la redirección y los pipes, primero debe conocer los distintos tipos de flujos de entrada y de salida, de entre los que destacamos tres:

  • Entrada estándar.- Los programas aceptan la entrada del teclado a través de la entrada estándar, o stdin, que en la mayoría de los casos es la información que llega al ordenador desde el teclado.
  • Salida estándar.- Los programas de modo texto envían a sus usuarios la mayoría de los datos a través de la salida estándar (o stdout), que se suele mostrar en modo texto a pantalla completa o bien por una ventana GUI como puede ser xterm (los programas que son totalmente GUIcomo los procesadores de texto GUI, no emplean la salida estándar para mostrar mensajes en el xterm desde el que fueron iniciados. La salida de los GUI no se gestionan a través de un flujo de salida en el sentido aquí descrito).
  • Error estándar.- Linux proporciona un segundo tipo de flujo de salida, conocido como error estándar, o stderr. Este flujo de salida está pensado para llevar información de alta prioridad, como los mensajes de error. Normalmente, los mensajes de error se envían al mismo dispositivo de salida que la salida estándar, por lo que cuesta diferenciarlos, aunque algunos se pueden redirigir independientemente, lo cual puede resultar muy útil. Por ejemplo, puede redirigir el error estándar a un fichero a la par que la salida estándar se sigue mostrando por pantalla, de manera que puede interactuar con el programa y estudiar los mensajes de error mucho más adelante.

    Internamente, los programas tratan estos flujos como simples ficheros de datos: los abren, leen los ficheros o escriben en ellos y los cierran cuando terminan. Dicho de otro modo, los ficheros normales son flujos desde el punto de vista de los programas. Lo que ocurre es que estos flujos son los que se utilizan para intercambiar con los usuarios.

Deja un comentario

Este sitio utiliza Akismet para reducir el spam. Conoce cómo se procesan los datos de tus comentarios.