Qué son las tuberías (pipes) en la terminal de Linux
Qué son las tuberías (pipes) en la terminal de Linux
Una tubería (|) conecta la salida de un comando
directamente con la entrada de otro — sin guardar nada en un archivo
intermedio.
Ejemplo simple
ls -l | grep ".txt"
ls -l lista los archivos; en vez de mostrarlos todos
en pantalla, esa lista se "canaliza" a grep, que filtra
solo las líneas que contengan ".txt". El resultado final es solo lo
que te interesa, no todo lo intermedio.
Encadenar varias tuberías
cat archivo.log | grep "error" | wc -l
Muestra el contenido de un archivo, filtra solo las líneas con "error", y cuenta cuántas hay en total — tres pasos encadenados en una sola línea, sin archivos temporales.
Consejo: piensa en cada tubería como una cinta transportadora entre dos máquinas — lo que sale de una entra directamente en la siguiente, sin tener que pasar por una bandeja intermedia (un archivo guardado).
Diferencia con la redirección (>)
La tubería (|) conecta un comando con OTRO comando. La
redirección (>) guarda la salida de un comando en un
ARCHIVO. Son conceptos relacionados pero distintos — es fácil
confundirlos al principio.
Preguntas frecuentes
¿Puedo encadenar más de dos comandos con tuberías?
Sí, no hay un límite práctico — puedes encadenar tantos comandos como necesites, cada uno procesando la salida del anterior.
¿Una tubería es lo mismo que guardar la salida en un archivo?
No, son conceptos distintos. La tubería (|) conecta un comando con otro directamente; la redirección (>) guarda la salida en un archivo en el disco.