Curso sobre comandos de linux

🎯 Objetivo del módulo Entender cómo fluye la información entre comandos, cómo guardar resultados, encadenar comandos y gestionar errores.

📌 Idea clave En Linux los comandos leen de entrada estándar y escriben a salida estándar. Nosotros decidimos de dónde viene y a dónde va esa información.


🧠 Conceptos fundamentales

📥 Entrada estándar (STDIN)

Lo que el comando recibe.

📤 Salida estándar (STDOUT)

Lo que el comando muestra normalmente.

❌ Error estándar (STDERR)

Mensajes de error.


🧩 Esquema mental

[comando] ---> salida
       |
       └── error

Con redirecciones y pipes podemos controlar ese flujo.


🗂️ Operadores del módulo

OperadorFunción
>redirigir salida (sobrescribe)
>>redirigir salida (añade)
<redirigir entrada
``pipe (encadenar comandos)
2>redirigir errores
&>redirigir salida + errores

🔸 > (redirigir salida)

🧾 Descripción

Envía la salida de un comando a un archivo sobrescribiéndolo.

🧪 Ejemplo

1ls > listado.txt

✔ Crea listado.txt ✔ Borra el contenido anterior si existía


🔸 >> (añadir salida)

🧾 Descripción

Añade la salida al final del archivo.

🧪 Ejemplo

1echo "línea nueva" >> notas.txt

✔ No borra lo anterior


🔸 < (redirigir entrada)

🧾 Descripción

Usa un archivo como entrada del comando.

🧪 Ejemplo

1wc -l < archivo.txt

📌 Cuenta líneas sin mostrar el nombre del archivo


🔸 | (pipe)

🧾 Descripción

Envía la salida de un comando como entrada de otro.

🧠 Regla de oro

Un comando → procesa texto → otro comando

🧪 Ejemplos clave

1ls | wc -l
2ps aux | grep root
3cat archivo.txt | sort | uniq

🔥 Ejemplo real DevOps

1ps aux | grep nginx | wc -l

🔸 2> (redirigir errores)

🧾 Descripción

Envía los errores a un archivo.

🧪 Ejemplo

1find / -name "*.log" 2> errores.txt

🧪 Ignorar errores

1find / -name "*.log" 2>/dev/null

📌 /dev/null = “agujero negro”


🔸 &> (todo)

🧾 Descripción

Redirige salida y errores al mismo archivo.

🧪 Ejemplo

1comando &> salida.txt

🪟 Equivalente en Windows

CMD

1dir > salida.txt
2dir 2> errores.txt
3dir | find "txt"

PowerShell

1Get-ChildItem | Measure-Object
2Get-Content log.txt | Select-String "error"

📌 PowerShell trabaja con objetos, no solo texto.


🧠 Combinaciones reales MUY importantes

📄 Guardar resultados

1grep error log.txt > errores.txt

📄 Añadir logs

1echo "nuevo evento" >> eventos.log

🔍 Filtrar información

1cat usuarios.txt | sort | uniq | wc -l

🔥 Debugging

1comando 2>/dev/null

⚠️ Errores comunes

  • ❌ Usar > cuando querías >>
  • ❌ Olvidar redirigir errores
  • ❌ Pensar que | copia archivos
  • ❌ No entender qué entra y qué sale

🧠 Buenas prácticas

  • ✔ Piensa en flujos de datos
  • ✔ Divide problemas en comandos pequeños
  • ✔ Usa pipes
  • ✔ Redirige errores conscientemente

📌 Resumen

  • ✔ Controlas la salida
  • ✔ Encadenas comandos
  • ✔ Gestionas errores
  • ✔ Ya piensas como Linux