Pipes

¡No se preocupe! no vamos a hablarle de tuberias. En el mundo Linux, una pipe relaciona la salida estándar de un comando con la entrada estándar de otro comando.

Volvemos un poco atrás, al comando ls. Hay varias opciones disponibles con el comando ls, pero ¿qué pasa con la visualización del contenido de un directorio si es demasiado rápida para verla?

Vamos a ver el contenido del directorio /etc.

ls -al /etc
	  

¿Cómo podemos visualizar tranquilamente la salida antes que desaparezca de la pantalla?

Es posible enviar la salida a la utilidad less. Conocido como paginador, less, (como more) le permite ver las informaciones en una página (o en una pantalla) a la vez.

Para enviar la salida estándar de un comando (o programa) a la entrada estándar de otro, se utiliza el carácter | (como se muestra en la figura Figura 15-15).

ls -al /etc | less
	  

En esta manera verá el contenido del directorio partido en dos pantallas. Para acceder a la pantalla siguiente, pulse Space; para volver a la pantalla anterior, pulse B; para salir, pulse la tecla Q.

SugerenciaComo leer los mensajes de arranque (startup)
 

¿Quiere leer los mensajes de arranque más cuidadosamente? En el prompt de la shell, teclee dmesg | less. Será capaz de leer todo el fichero una pantalla cada vez. Para seguir adelante, pulse Space; para salir, pulse Q.

Figura 15-15. Redireccionar la salida de ls hacia less

De verdad hemos utilizado los comandos de redireccionamiento, antes de explicar que cosa son.

En las páginas anteriores, hablando de las páginas man, hemos utilizado el comando pipe para imprimir en papel las páginas del comando ls:

man ls | col -b | lpr
	  

Así está redireccionando la salida de man ls a un filtro llamado col con una opción -b para formatear el texto para la impresora, luego hemos redireccionado la salida a la impresora con el comando lpr.

SugerenciaResumen
 

El comando pipe permite redireccionar la salida de un comando hacia la entrada de otro comando. Por ejemplo: ls -al /etc | more envía la salida del comando ls al comando more para permitir su lectura.