Inicio > Cursos > Linux & Terminal > Pipes y Redireccion
Linux & TerminalProcesamiento de Texto y DatosLección 5 de 12

Pipes y Redireccion

Los pipes (|) y la redireccion son el superpoder de la terminal. Te permiten conectar comandos como piezas de LEGO: la salida de uno se convierte en la entrada del siguiente. Esto convierte comandos simples en herramientas poderosas.

# PIPES: conectar la salida de un comando con la entrada de otro

# Contar cuantos archivos .js hay en el proyecto
ls -la | grep ".js" | wc -l
# 42

# Ver los procesos que mas memoria usan
ps aux | sort -k4 -rn | head -5
# USER  PID  %CPU  %MEM  ...
# mysql 312  2.1   15.3  ...
# node  891  5.4   12.1  ...

# Buscar un proceso especifico
ps aux | grep "node"
# user  1234  0.5  2.1  node server.js

# Ver las 10 IPs que mas visitan tu servidor
cat access.log | awk '{print $1}' | sort | uniq -c | sort -rn | head -10
# 1523 192.168.1.50
# 891  10.0.0.25
# 445  172.16.0.100
# REDIRECCION: controlar donde va la salida

# > redirige salida a archivo (sobreescribe)
echo "Hola mundo" > saludo.txt
ls -la > listado.txt

# >> agrega al final del archivo (no sobreescribe)
echo "Linea nueva" >> log.txt
date >> log.txt

# 2> redirige errores (stderr)
find / -name "config.yml" 2> /dev/null
# Solo muestra resultados, ignora errores de permiso

# Combinar stdout y stderr
comando > output.log 2>&1

# /dev/null: la papelera de Linux
# Descarta cualquier salida
comando_ruidoso > /dev/null 2>&1
# TEE: enviar salida a archivo Y a la pantalla al mismo tiempo
npm run build | tee build.log
# Ves la salida en pantalla Y se guarda en build.log

# tee con -a para agregar (append)
echo "Deploy exitoso" | tee -a deploy.log

# ENCADENAMIENTO de comandos
# && ejecuta el siguiente SOLO si el anterior tuvo exito
npm install && npm run build && npm start

# || ejecuta el siguiente SOLO si el anterior fallo
ping -c 1 google.com || echo "Sin conexion a internet"

# ; ejecuta sin importar si fallo o no
mkdir logs; cd logs; touch app.log
ConsejoRegla de oro: usa > cuando quieres un archivo nuevo/limpio, >> cuando quieres agregar al final. Usar > por error puede borrar datos importantes.
← Bash Scriptinggrep, awk y sed →

Practica esta lección

Resuelve los ejercicios del curso de Linux & Terminal en la app, gratis y con corrección automática.

Empezar a practicar