Hemos visto como en GNU/Linux podemos utilizar redirecciones para redirigir la salida de un comando y enviarla a un fichero en lugar de la salida estándar: la pantalla.
También hemos visto, a lo largo de la unidad dedicada a sistemas GNU/Linux, como uno de los principios de los sistemas operativos Unix-like es “matener las cosas simples” (KISS, Keep It Simple Sir). Así pues los comandos y aplicaciones de estos sistemas deben realizar una función muy concreta, simple pero bien hecha.
¿Pero qué sucede si necesitamos realizar una tarea más compleja que no nos proporciona un comando concreto?. Aquí tenemos dos soluciones, utilizar tuberías para conectar varios comandos o crear un shell script que solucione el problema. En este apartado vamos a estudiar la primera solución, las tuberías.
¿Qué es una tubería?
Básicamente una tubería es una herramienta que proporciona el interprete de comandos que permite conectar un comando con otro.

Cuando usamos una tubería para comunicar dos comandos, indicamos al intérprete de comandos o shell que la salida de un comando, en lugar de mostrarse por pantalla, se envíe como entrada al comando siguiente.
La tubería se expresa con el carácter especial “|” entre dos comandos. Podemos conectar varios comandos en secuencia, uno tras otro con tuberías, para hacer que la salida del anterior pase al siguiente, así hasta el final de la cadena.

De esta forma, podemos conseguir obtener una funcionalidad compleja o resolver un problema complejo compuesto por una serie de comandos que colaboran pasándose resultados en secuencia.

La mejor forma de comprender las tuberías es trabajar con ellas, por eso se proporcionan a continuación una serie de ejemplos simples y después una serie de preguntas a resolver utilizando comandos y tuberías que los conecten.