Fundamentos de la línea de comandos

Teoría: Línea de comandos

Si alguna vez has visto a alguien usando una pantalla negra con texto blanco, escribiendo comandos misteriosos, probablemente estabas viendo una terminal. Aunque luce intimidante, en realidad es una herramienta poderosa y muy común en el mundo de la computación.

En esta lección, vamos a entender qué es una terminal, qué es el shell, en qué se diferencian y cómo trabajarlos.

¿Qué es la terminal?

La terminal es una aplicación que simula cómo se interactúa con una computadora solo con texto, sin gráficos ni botones. Allí escribimos comandos y la máquina responde.

Podemos imaginarlo como una especie de ventana en la que tenemos acceso directo al sistema.

Terminal

Muchas terminales permiten:

  • Pestañas múltiples: como cuando navegamos en Internet, pero en la línea de comandos.

  • División de pantalla: tener varias secciones activas dentro de la misma ventana (por ejemplo, con iTerm2):

  • Recuperar sesiones cerradas.

  • Personalizar perfiles con colores, fuentes o configuraciones especiales.

    Divisiones en Iterm2

En resumen: la terminal es el entorno visual que usamos para interactuar con el sistema usando solo texto. Sin embargo, la terminal por sí solo no entiende los comandos que escribimos. Aquí es donde entra el shell.

¿Qué es el Shell?

El shell es el programa que se ejecuta dentro de la terminal y que realmente interpreta lo que escribimos. Él es quien recibe el comando, lo ejecuta, nos muestra el resultado y vuelve a esperar otra orden.

También puede llamarse intérprete de comandos o procesador de comandos. Aunque tenga varios nombres, todos se refieren a lo mismo: el programa que interpreta nuestras órdenes en la línea de comandos.

Cómo funciona

Cuando abrimos una terminal, automáticamente se abre un shell dentro. Este muestra algo como:

~$ █

Analicemos lo que vemos:

SímboloSignificado
~El directorio actual en el que estamos.
$Indica que el shell está esperando un comando.
Representa el cursor (donde empezamos a escribir).

Por ejemplo, si escribimos el siguiente comando y damos Enter:

date

Esto nos mostrará la fecha y hora actual:

Sun Aug 26 14:02:59 CEST 2018

Una vez presionamos Enter, el comando ya no se puede editar. Lo que sigue es interpretar la respuesta y posiblemente escribir otro comando.

Comando en terminal

Comentarios en el shell

Al igual que en lenguajes de programación, podemos escribir comentarios, es decir, líneas que no se ejecutan. Son útiles para dejar notas explicativas.

# Esto es un comentario

El símbolo # al principio de una línea indica que todo lo que sigue no será ejecutado.

Acceso a programas desde el Shell

Desde aquí se pueden ejecutar programas del sistema. Y no solo eso: el shell también ofrece muchas cosas que nos hacen la vida más fácil, como:

  • Autocompletado de comandos y rutas con la tecla Tab.
  • Historial de comandos (con las flechas ↑ y ↓).
  • Navegación por carpetas (por ejemplo, con cd).
  • Creación de scripts para automatizar tareas repetitivas.
  • Atajos de teclado para editar comandos rápidamente.

En próximas lecciones, vamos a explorar muchos de estos elementos en acción.

Shell vs Terminal: ¿son lo mismo?

No, no son lo mismo. La relación entre la terminal y el shell se puede entender así:
  • La terminal es la aplicación que abre una ventana para que podamos interactuar en modo texto.
  • El shell es el programa que recibe los comandos escritos en esa ventana y los ejecuta.

Míralo como si la terminal fuera el televisor y el shell fuera el canal de televisión que estás viendo.

Pipeline

¿Qué es un REPL?

Muchos shells, incluyendo Bash, son conocidos como REPLs, que significa:

  • 📝 Read – el shell espera la entrada de un comando por parte del usuario.
  • ⚙️ Eval – ejecuta el comando ingresado.
  • 📑 Print – muestra el resultado.
  • 🔄 Loop – vuelve al primer paso.

Este ciclo se repite una y otra vez hasta que cerremos la terminal o apaguemos el computador. Es lo que llamamos una sesión interactiva.

Este mismo estilo de trabajo lo veremos más adelante con bases de datos y lenguajes de programación.

Práctica en Códica

En la plataforma Códica tenemos dos terminales que se abren automáticamente para que practiquemos. Se encuentran en las pestañas inferiores, llamadas Terminal 1 y Terminal 2.

Si en algún momento te confundes o algo no funciona, no pasa nada: es normal equivocarse. Solo revisa bien el mensaje que aparece. Y si quieres empezar de nuevo, puedes reiniciar la terminal.


Resumen

  • La terminal es una ventana desde la cual escribimos comandos al sistema.
  • El shell es el programa que interpreta y ejecuta esos comandos.
  • El símbolo $ indica que el shell está esperando que escribamos una orden.
  • Los comentarios se escriben con # y no se ejecutan.
  • Shell y terminal no son lo mismo, aunque siempre trabajan juntos.
  • El shell funciona como un REPL: lee, ejecuta, muestra el resultado y repite.