Streams (corrientes), (corrientes), pipes (tuberías), redirections Sistemas Operativos Ing. Kramer Garay Gómez
Uso de corrientes, tuberías y redirección
Tanto las corrientes (streams) como las tuberías (pipes) y las redirecciones (redirections) se cuentan entre las herramientas de línea de comandos más potentes de Linux Linux considera tanto las entradas como las salidas de los programas como streams, que son entidades de datos que se pueden manipular
Regla general
Las entradas proceden del teclado
Las salidas se dirigen a la pantalla, tanto si está en modo texto o como si se trata de una ventana del terminal
Análisis de los diferentes tipos de corrientes
Entrada estándar: Los programas aceptan los datos enviados por el teclado a través de la entrada estándar (standar input) o stdin Salida estándar: Los programas en modo texto envían la mayor parte de sus datos a través de la salida estándar (standar output ) o stdout Error estándar: Un segundo tipo de corriente de salida es el error estándar (standar error ) o stderr concebida para la transmisión de comunicaciones urgentes tales como mensajes de fallo
Importante!!!
Internamente, los programas tratan estas corrientes como archivos de datos y pueden así abrirlos, leerlos, escribir sobre ellos y cerrarlos Los archivos ordinarios no son más que corrientes de datos, desde el punto de vista de los programas. Tanto las corrientes de entrada estándar como las de salida y las de errores se utilizan para interactuar con el usuario.
Operadores de redirección más habituales Operador de redirección
Efecto
>
Crea un nuevo archivo para la sali da estándar. Si éste existiese en el sistema, lo reescribiría en el acto
>>
Añade la salida estándar a un archivo existente. Si éste no existiese, lo originaría en el momento
2>
Genera un nuevo archivo con la salida de error estándar. Si éste existiese ya en el sistema, lo reescribiría en el acto
2>>
Añade la salida estándar a un archivo existente. Si éste no existiese, lo originaría en el momento
&>
Crea un archivo nuevo para albergar tanto la salida estándar como el error estándar. Si éste existiese ya en el sistema, lo reescribiría en el acto
<
Envía los contenidos del archivo especificado para que sirvan de entrada estándar
<<
Acepta el texto subsiguiente como entrada estándar
<>
Habilita el archivo especificado para contener tanto la entrada como la salida estándar
Redirección y Tuberías Método
Descripción
Redirección
Redirige la entrada estándar, salida y salida de error desde y hacia lugares que no sean el predeterminado. Tenga en cuenta los siguientes detalles de redirección: Por defecto Linux clasifica la información con los siguientes descriptores de archivos en Entrada estándar (stdin): viene desde el teclado, redirección, 0 representa stdin Salida estándar (stdout): se muestra en el monitor, en redirección, 1 representa stdout Los errores estándar (stderr): se muestran en el monitor, en redirección, 2 representa stderr Los comandos de Linux usan el símbolo mayor que (>) para mostrar la redirección de la salida, el símbolo menor que (<) para indicar la redirección de entrada y el símbolo doble mayor que (>>) para anexar la salida a otro archivo o comando El comando tee lee de la entrada estándar y escribe en la salida estándar y en ficheros •
•
•
Tubería
•
•
Dirige la salida den un comando a la entrada de otro comando, se usa el símbolo (|) Se puede combinar varios comandos para hacer una cadena
Laboratorio