miércoles, 24 de febrero de 2010

Linux: Redireciones y Tuberías (pipeline)

Al manejar los comandos con los que realizamos operaciones sobre los archivos y los directorios suele ser útil disponer de herramientas que flexibilicen su uso. Por ejemplo, supongamos que queremos obtener una lista ordenada de los nombres de los archivos que contienen en su interior una serie de palabras, y que dicha lista quede almacenada en un archivo. Para realizar esto tendremos que enlazar varios comandos, y la shell permite esos enlaces utilizando redirecciones, tuberías y filtros. Así, la Shell permite algunas ventajas para facilitar el manejo del sistema de archivos y en este apartado vamos a describirlas.

  • Redireciones
Con el carácter < puedo redirigir la entrada de datos de un proceso desde un archivo, sustituyendo así al teclado del terminal. Por ejemplo: 
$ cat el comando cat recibe como entrada el fichero /etc/passwd

Con el carácter > redirijo la salida de un proceso a un archivo en lugar de la pantalla del terminal. Si existiese el archivo, quedará eliminado. Ejemplo: 
$ echo hola > saludo.txt Escribirá hola en el archivo saludo.txt 

El operador de redirección >> también redirige la salida pero, si el archivo existe, la información se anexa. 

  • Tuberías (pipeline)
Las tuberías permiten enlazar las salidas de unos programas con las entradas del siguiente. La forma de indicar que se quiere emplear una tubería para comunicar dos o más procesos es la siguiente: 

$ orden_1 | orden_2 |orden_3 | ... 


Por ejemplo: 
cat alumnos.txt | more Muestra el contenido del archivo de página en página

No hay comentarios:

Publicar un comentario