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.
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