domingo, 17 de octubre de 2010

PIPELINES O TUBERÍAS EN SISTEMAS GNU/LINUX

PIPELINES O TUBERÍAS


Un método muy sofisticado para la comunicación de datos entre procesos son los pipes o tuberías.

Las tuberías permiten  tomar la salida de un proceso y enviársela a otro como entrada, de esta forma podemos tomar la salida generada por un comando en la consola de un sistema GNU/LINUX y redireccionarla como entrada de otro comando.

EJEMPLOS:


1. Redireccionemos la salida del comando Ls como entrada del comando Sort -r , $ ls | sort -r.


Explicación: el comando ls produce como salida un listado de los archivos que contiene el directorio en el cual estamos ubicados o el que le pasamos como parámetro, utilizando el pipe "|", redireccionamos esta salida como una entrada del comando sort, el cual ordena los archivos alfabéticamente, y en este caso como utilizamos el parámetro -r se hará en forma inversa, es decir, de la Z a la A.







DESCARGAR DOCUMENTO DE EVIDENCIAS
LINK DE DESCARGA






EJEMPLO2:

find /bin  | grep -n 'm' | cut -c '1-10'

Explicación:
el comando find /bin ,busca todos los archivos en el directorio / bin que es el que se le envia como parámetro.












La salida de find /bin  se envia como entrada al comando grep -n 'm'  el cual marca las coincidencias de la letra m en el listado de nombres de directorios, ademas el parametro -n hace que se muestre el numero de  lineas del fichero.






La salida del proceso anterior  se  toma como entrada del comando cut -c '1-10' el cual corta el nombre del directirio y solo muestra los primeros 10 caracteres si el nombre sobrepasa este numero de caracteres.






ENCADENAMIENTO DE COMANDOS

Se pueden redireccionar dos comandos entre sí, la salida de un comando que sea la entrada del siguiente, esta estructura se denomina pipelines o tuberías,

Ejemplo:

comando1 | comando2 | comando3 # la salida del comando1 es tomada como entrada por el comando2, la utiliza, y la salida de este es tomada por el comando3 como entrada.

comando1 | comando2 > archivo1 # la salida del comando1 es tomada como entrada por el comando2 y la salida se guarda en el fichero archivo1.

comando1 < archivo1 | comando2 # comando1 toma como entrada los datos contenidos en el fichero archivo1 y la salida la toma como entrada el comando2.

Importante: pipeline se utiliza entre comandos y los redireccionamientos entre comandos y archivos.


FUENTES RELACIONADAS:


http://supercomputo.izt.uam.mx/linux/curso.pdf

http://www.scribd.com/doc/38599236/RedireccionamientoEnLinux


ENLACES DE INTERES.
DESCARGAR MANUAL COMADO DPKG



3 comentarios:

  1. me paraece muy interesante el tema de las tuberias y los pipilines ya que estas nos ayudan y permiten tomar la salida de un proceso y enviársela a otro como entrada.Ademas los ejemplos que anexaron nos ayudan mucho como referencia a la hora de implementar estos comandos.
    Tambien me gusta la apariencia, videos y el material de ayuda como las descargas ya que asi nos podemos argumentar y aprender mas sobre este tema que es muy interesante y de gran ayuda.
    Adriana Jimènez

    ResponderEliminar
  2. hablar de tuberias y pipelines nos parecio un tema en el cual debemos profundizar mas sin embargo con esta explicacion y el tutorial que subieron lograron que lo que no teniamos muy claro ahora pues lo comprendamos.

    el ejercicio Numero.2 nos parecio interesante supieron utilizar el comando adecuado ademas la ejecucion del comando cuando busca todos los archivos en el directorio / bin y despues marcar todas las coincidencias que tengan la letra "m" y con "n" cuando mostraron al tiempo el numero de lineas es muy correcto el uso de este comando la verdad no sabiamos hacerlo de esa manera. Bueno ahora si, les felicitamos

    ResponderEliminar
  3. CARLOS:Este tema me parecio muy importante en la ejecucion de los comandos ya que aprendimos acontrolar la salida del estandar...

    Utilizar tuberias es de suma importancia para la combinacion de varios comandos del sistema y realizar tareas especificas de forma sencilla...buen trabajo muchachos me gusto mucho por que nos explican los pasos de cada comando apropiado para cada ejecución...carjaper.

    ResponderEliminar