learning-front

Nivel 0 · Cómo funciona la web y montar tu taller

Perderle el miedo a la terminal

La terminal no es una pantalla negra de película: es la herramienta más directa que tienes para moverse por tu máquina, y el sitio donde viven npm, git y node.

A casi todo el mundo le impone la terminal al principio. Abres un tutorial de React, llegas al paso dos y te encuentras con “abre una terminal y escribe npm install”: una pantalla vacía, un cursor parpadeando y ninguna pista de qué hacer. Es una reacción normal, y se le pierde el respeto rápido: en cuanto la usas a diario, deja de dar reparo.

La terminal no es una reliquia ni una herramienta de élite. Es la interfaz más directa que existe para hablar con tu sistema operativo: una vez que la conoces, la prefieres para muchas cosas porque es más rápida y más predecible. Y —esto es lo importante— es donde viven las herramientas de un desarrollador frontend en 2026: npm, git, node. No hay alternativa gráfica oficial para ellas.

No vas a romper nada, con una sola excepción: un comando que te aviso bien claro más abajo.

Qué es la terminal y qué es la shell#

La terminal es la ventana: el programa que dibuja texto en pantalla y acepta lo que escribes. La shell es el intérprete: el programa que lee lo que escribiste, lo ejecuta y te devuelve el resultado.

La distinción te importa porque hay varias shells, y no todas son iguales:

  • bash y zsh son las habituales en macOS y Linux (macOS cambió de bash a zsh en 2019). Los comandos básicos que verás aquí funcionan igual en ambas.
  • PowerShell es la shell estándar en Windows. Comparte la filosofía pero los comandos tienen nombres distintos: donde en bash escribes ls, en PowerShell escribes Get-ChildItem (aunque en versiones recientes ls también funciona como alias). Para evitar fricciones, en Windows muchos devs instalan Git Bash o WSL (Windows Subsystem for Linux), que dan una experiencia idéntica a bash.

En este capítulo, los comandos son los de bash/zsh. Si estás en Windows sin Git Bash, anoto las diferencias donde hay matiz.

Orientarse: saber dónde estás#

El primer miedo es no saber dónde estás parado. Dos comandos te ubican:

shell
pwd

Print Working Directory. Imprime la ruta completa de la carpeta en la que estás ahora mismo. Si no sabes nada más, saber esto ya te salva.

shell
ls

Lista el contenido de la carpeta actual: ficheros y subcarpetas. Equivalente a abrir la carpeta en el explorador y ver lo que hay dentro. En Windows (PowerShell nativo) el alias es dir.

Moverse: cd#

shell
cd nombre-carpeta

Change Directory. Entra en esa carpeta. Si estás en /proyectos y escribes cd team-builder, pasas a /proyectos/team-builder.

Hay dos patrones que usarás constantemente:

  • cd .. — sube un nivel, a la carpeta padre.
  • cd /ruta/absoluta/completa — va directamente ahí, desde donde sea.

Una ruta absoluta empieza en la raíz del sistema (/ en unix, C:\ en Windows) y llega hasta el destino sin importar dónde estés. Una ruta relativa parte desde tu posición actual: cd ../otro-proyecto sube uno y entra en otra carpeta, relativo a donde estás ahora.

Crear cosas: mkdir y touch#

shell
mkdir team-builder

Crea una carpeta llamada team-builder en el directorio actual.

shell
touch heroes.json

Crea un fichero vacío. En Windows (PowerShell nativo) el equivalente es New-Item heroes.json -ItemType File, aunque Git Bash acepta touch directamente.

Copiar, mover y renombrar: cp y mv#

shell
cp origen.txt destino.txt

Copia un fichero. El original se mantiene.

shell
mv origen.txt destino.txt

Mueve (o renombra) un fichero. Si destino.txt es una carpeta, lo mete dentro; si es un nombre, lo renombra. Para carpetas completas, añade -r (recursivo): cp -r carpeta-a carpeta-b.

Ver el contenido de un fichero: cat#

shell
cat heroes.json

Imprime el contenido del fichero en la terminal. Útil para revisar un fichero pequeño sin abrir el editor.

Borrar: rm — y un aviso que va en serio#

shell
rm fichero.txt

Borra el fichero. No va a la papelera. Desaparece en ese instante. No hay deshacer.

Para borrar una carpeta con todo lo que contiene:

shell
rm -r nombre-carpeta

El -r significa recursivo: borra la carpeta y todo lo que haya dentro. Es el comando con más potencial de daño de esta lista. Antes de ejecutarlo, comprueba que pwd muestra la ruta que esperas y que el nombre es el correcto.

Tabla de referencia rápida#

ComandoQué haceEjemplo
pwdMuestra en qué carpeta estáspwd
lsLista el contenido de la carpeta actualls
cd carpetaEntra en esa carpetacd team-builder
cd ..Sube a la carpeta padrecd ..
mkdir nombreCrea una carpetamkdir src
touch nombreCrea un fichero vacíotouch index.html
cp a bCopia el fichero a como bcp config.json config.backup.json
mv a bMueve o renombra a a bmv borrador.js index.js
rm ficheroBorra un fichero (sin papelera)rm temp.txt
rm -r carpetaBorra una carpeta y su contenidorm -r dist
cat ficheroMuestra el contenido de un ficherocat package.json

Pruébalo en tu terminal#

La mejor manera de perder el miedo es hacer algo real con un riesgo cero. Esta secuencia crea una carpeta, entra, crea un fichero, lo lista y lo borra. Todo confinado en una carpeta nueva: nada puede salir mal.

Abre tu terminal y ejecuta esto paso a paso. Lee lo que devuelve la terminal después de cada comando:

shell
# 1. Mira dónde estás
pwd

# 2. Crea una carpeta de prueba
mkdir prueba-terminal

# 3. Entra en ella
cd prueba-terminal

# 4. Confirma que estás dentro
pwd

# 5. Crea un fichero vacío
touch hola.txt

# 6. Comprueba que está ahí
ls

# 7. Borra el fichero (es un fichero de prueba: no hay riesgo)
rm hola.txt

# 8. Comprueba que ha desaparecido
ls

# 9. Sube un nivel y borra la carpeta de prueba
cd ..
rm -r prueba-terminal

Si todo ha ido bien, has creado y destruido estructura de ficheros desde la terminal sin usar el ratón. Eso ya es usar la CLI de verdad.

Comprueba lo que sabes#

Pregunta 1 de 5

¿Por qué un desarrollador frontend usa la terminal si hay interfaces gráficas para todo?

El siguiente capítulo es Git básico: clone, commit, push, pull. Ya tienes la terminal: es exactamente desde ahí donde vas a lanzar git.