Qué son en realidad la terminal y el shell
Cuando usas una aplicación normal, haces clic en botones y la aplicación traduce esos clics en instrucciones para la computadora. La línea de comandos se salta los botones. Escribes una instrucción, presionas Enter, y la computadora la ejecuta.
Dos palabras que escucharás mucho:
- — la ventana en la que escribes. Es solo una caja de texto con un historial. (En Mac es "Terminal" o "iTerm"; en Windows es "PowerShell" o "Windows Terminal"; en Linux normalmente es simplemente "Terminal").
- — el programa que está dentro de esa ventana y que lee lo que escribes y lo ejecuta. El más común se llama bash; las Mac usan uno llamado zsh. Se comportan de forma casi idéntica para todo lo que se ve en este libro.
Este es el ciclo, cada vez que presionas Enter: el shell lee lo que escribiste, encuentra y ejecuta el programa correspondiente, e imprime de vuelta en la ventana lo que ese programa produjo.
you type ┌─────────┐ finds + runs ┌──────────┐ prints
a command ──▶│ SHELL │ ──────────────▶ │ PROGRAM │ ──────────▶ output
+ Enter │ (reads) │ │ (does it)│ in window
└─────────┘ └──────────┘
▲ │
└──────── ready for next command ◀─────┘
¿Por qué las herramientas de IA para programar viven aquí? Porque la línea de comandos es el panel de control universal del desarrollo de software. Instalar herramientas, arrancar tu aplicación, ejecutar pruebas, desplegarla en internet: todo eso sucede a través de comandos escritos. Un de IA funciona escribiendo los mismos comandos que escribirías tú, solo que más rápido y sin errores de tipeo. Cuando lo ves trabajar, estás viéndolo usar exactamente la misma puerta que tú usarás.