Pipes

En el mundo Linux, una pipe relaciona la salida estándar de un comando con la entrada estándar de otro comando.

Retrocedamos un poco y volvamos al comando ls. Existen varias opciones disponibles con el comando ls, pero ¿qué pasa si la visualización del contenido de un directorio es demasiado rápida coma para verla?

Vamos a ver el contenido del directorio /etc.

ls -al /etc

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

Una forma es enviando la salida a una utilidad llamada less. También conocida como pager, less le permite visualizar información en una página (o pantalla) de una vez.

Utilice la barra vertical (|) para conducir los comandos (como se muestra en el Figura 10-11).

ls -al /etc | less

De esta manera verá el contenido en una pantalla al mismo tiempo. Para acceder a la pantalla siguiente, pulse Espacio; para volver a la pantalla anterior, pulse b; para salir, pulse la tecla q.

SugerenciaCómo leer los mensajes de inicio (startup)
 

Para leer los mensajes de arranque con más detenimiento, en el indicador de comandos de la shell, teclee dmesg | less. Será capaz de leer el fichero en una pantalla al mismo tiempo. Para seguir adelante, pulse Espacio; para salir, pulse q.

Figura 10-11. Envío de salida de ls a less

De hecho, los pipes ya han sido introducidos en este manual. En las referencias anteriores de las páginas de manual, ha usado el siguiente comando para imprimirlos:

man ls | col -b | lpr

La salida de man ls es eviada a un filtro llamado col con una opción de -b para formatear el texto para la impresión. Esa salida es enviada a la impresora usando el comando lpr.

Para ver otro ejemplo, teclee:

grep coffee sneakers.txt | lpr

Éste imprimirá todas las líneas del archivo sneakers.txt que mencionan la palabra "coffee" (obtenga más información sobre grep en la la sección de nombre El comando grep).

El comando more

La diferecia principal entre more y less es que more sólo le permite ir hacia adelante en un fichero y less le permite ir hacia delante y hacia atrás.

Echémosle un vistazo a la página de manual de more, pero esta vez abriremos la página mediante el uso de more — enviando la salida de man a more.

	  man more | more