Skip to main content

Redirección de salida y tuberías

Redirección de Salidas

La redirección de salidas en la terminal de Unix y Linux permite dirigir la salida estándar (stdout) y la salida de errores (stderr) de un comando a un archivo o a otro destino, en lugar de imprimirlo en la pantalla.

Redirigir la salida estándar a un archivo

comando > archivo_salida.txt

Este comando ejecuta comando y guarda su salida estándar en el archivo archivo_salida.txt. Si el archivo ya existe, se sobrescribe; si no, se crea.

Añadir la salida estándar a un archivo (sin sobrescribir)

comando >> archivo_salida.txt

Similar al ejemplo anterior, pero añade la salida al final del archivo en lugar de sobrescribirlo.

Redirigir la salida de errores a un archivos

comando 2> archivo_errores.txt

Este comando guarda los mensajes de error (stderr) generados por comando en el archivo archivo_errores.txt.

Redirigir ambas salidas (stdout y stderr) a un archivo

comando > archivo_todas_las_salidas.txt 2>&1

Este comando redirige tanto la salida estándar como la salida de errores al mismo archivo.

Uso de Tuberías (Pipes)

Las tuberías (|) permiten conectar la salida de un comando directamente como entrada a otro. Esto es útil para combinar múltiples comandos en una única línea. Aquí hay algunos ejemplos:

Usar una tubería para pasar la salida de un comando como entrada a otro

comando1 | comando2

La salida de comando1 se utiliza como entrada para comando2.

Contar las líneas de un archivo con wc

cat archivo.txt | wc -l

cat muestra el contenido del archivo, y wc -l cuenta las líneas.

Filtrar resultados con grep y sort

comando | grep "patrón" | sort

La salida de comando se filtra con grep y luego se ordena con sort.

Mostrar procesos con ps y buscar un proceso específico con grep

ps aux | grep "nombre_del_proceso"

ps aux muestra información sobre todos los procesos, y grep filtra las líneas que contienen el nombre del proceso deseado.

La combinación de redirección y tuberías proporciona una potente capacidad para manipular y procesar datos en la línea de comandos de Unix y Linux.