Pipes y redirecciones: conecta comandos como bloques reutilizables

Domina stdin, stdout y stderr para construir flujos de trabajo más rápidos, legibles y automatizables.

La terminal trabaja con flujos: entrada estándar (stdin), salida estándar (stdout) y salida de error (stderr).

El pipe `|` conecta la salida de un comando con la entrada del siguiente.

Las redirecciones `>` y `>>` te permiten guardar resultados en archivos en vez de mostrarlos en pantalla.

Separar stdout y stderr facilita debugging y observabilidad en scripts.

  • Entender flujos te permite razonar qué pasa en cada comando.
  • Por defecto, la mayoría de comandos leen desde stdin y escriben en stdout. Los errores operativos, en cambio, se envían a stderr.
  • Cuando todo va mezclado en pantalla parece cómodo, pero en automatización conviene separar para registrar resultados y fallos de forma independiente.
  • Este patrón es universal y aparece tanto en Bash/Zsh como en PowerShell, aunque con sintaxis y objetos distintos.
  • Piensa cada comando como una función que transforma datos.

1) Modelo mental de I/O en CLI

Entender flujos te permite razonar qué pasa en cada comando.

Por defecto, la mayoría de comandos leen desde stdin y escriben en stdout. Los errores operativos, en cambio, se envían a stderr.

Cuando todo va mezclado en pantalla parece cómodo, pero en automatización conviene separar para registrar resultados y fallos de forma independiente.

Este patrón es universal y aparece tanto en Bash/Zsh como en PowerShell, aunque con sintaxis y objetos distintos.

2) Pipes para composición de comandos

Piensa cada comando como una función que transforma datos.

3) Redirecciones para trazabilidad

Guardar salidas en archivos vuelve tus ejecuciones auditables.

`>` sobrescribe un archivo; `>>` añade al final. Esta diferencia es clave cuando registras logs de múltiples ejecuciones.

En scripts de build o despliegue, escribir salidas en log ayuda a depurar fallos asíncronos sin depender de la consola interactiva.

Antes de sobrescribir, verifica que el archivo destino sea correcto para no perder información útil.

  • Usa `>` para generar un reporte nuevo.
  • Usa `>>` para append incremental.
  • Separa errores con `2>` cuando depures.
  • Combina con fecha/hora en nombre de archivo para históricos.
Terminal
07

Pipes y redirecciones: conecta comandos como bloques reutilizables

Domina stdin, stdout y stderr para construir flujos de trabajo más rápidos, legibles y automatizables.

Código del tema: Comandos reproducibles y trazables

📘 Teoría

1) Modelo mental de I/O en CLI

Entender flujos te permite razonar qué pasa en cada comando.

1

Por defecto, la mayoría de comandos leen desde stdin y escriben en stdout. Los errores operativos, en cambio, se envían a stderr.

2

Cuando todo va mezclado en pantalla parece cómodo, pero en automatización conviene separar para registrar resultados y fallos de forma independiente.

3

Este patrón es universal y aparece tanto en Bash/Zsh como en PowerShell, aunque con sintaxis y objetos distintos.

Redirigir salida y errores por separado
comando > salida.log 2> errores.log

2) Pipes para composición de comandos

Piensa cada comando como una función que transforma datos.

1

Filtrar resultados

Combina listado y búsqueda en una misma línea.

2

Contar coincidencias

Puedes seguir encadenando comandos para obtener métricas rápidas.

3) Redirecciones para trazabilidad

Guardar salidas en archivos vuelve tus ejecuciones auditables.

`>` sobrescribe un archivo; `>>` añade al final. Esta diferencia es clave cuando registras logs de múltiples ejecuciones.

En scripts de build o despliegue, escribir salidas en log ayuda a depurar fallos asíncronos sin depender de la consola interactiva.

Antes de sobrescribir, verifica que el archivo destino sea correcto para no perder información útil.

  • Usa `>` para generar un reporte nuevo.
  • Usa `>>` para append incremental.
  • Separa errores con `2>` cuando depures.
  • Combina con fecha/hora en nombre de archivo para históricos.

🧪 Aprende probando

Ejemplo Ejemplo guiado: reporte de archivos JSON Genera un listado filtrado y guárdalo en un archivo para revisión posterior.

🏁 Retos

Reto Reto: flujo con pipe y append Escribe una línea que use `|` y otra que use `>>` para guardar resultados.

🧰 Recursos

Test

Comprueba tus conocimientos con un test sobre Terminal.

Test de Terminal

¿Qué es esto?

Soy Cristian Eslava y a veces hago webs para procrastinar yo y vosotros 😉.

Esta la hice en febrero de 2026 para facilitar el aprendizaje de mis alumnxs. Aprender desarrollo web practicando. La idea es que crezca semanalmente con nuevos temas, tests y retos.

Inspirado en MDN, en W3Schools, en Codepen, en el crack de Manz y en mil sitios de documentación sobre desarrollo web. Quería aportar además de bloques teóricos con ejemplos, la gamificación de los retos y el sistema de test que ya tenía en culTest .

Si te gustó, si no te gustó, si quieres saludarme, o invitarme a 🍻 no dudes en escribirme en cristianeslava@gmail.com .