Si hasta ahora la terminal te ha parecido un sitio oscuro donde tecleas comandos máágicos que no entiendes, este artículo es para ti. Bash (Bourne Again Shell) es el intérprete de comandos que viene por defecto en casi todas las distribuciones de Linux y en macOS, y es la herramienta más poderosa que tienes para moverte por tu propio ordenador sin usar el ratón. No necesitas ser programador para sacarle partido: con una docena de comandos ya vas a ahorrar tiempo cada semana.

Lo bueno de la terminal es que todo lo que haces es reproducible. Un clic en una carpeta se olvida; un comando escrito puede guardarse, repetirse y automatizarse. Por eso, aunque al principio se vea árida, merece la pena el esfuerzo de los primeros días.

Qué es realmente la terminal y por qué usarla

La terminal es una ventana a un programa que lee lo que escribes y ejecuta instrucciones. Esa ventana se llama shell, y bash es la shell más común. Cuando abres "Terminal" en Ubuntu, "iTerm" en Mac o "WSL" en Windows, estás hablando con bash (o una pariente cercana como zsh).

¿Por qué molestarse si ya tienes un explorador de archivos con iconos? Tres razones prácticas:

  • Velocidad: moverte entre carpetas profundas con el teclado es más rápido que hacer doble clic diez veces.
  • Potencia: puedes renombrar 500 archivos de golpe, buscar texto dentro de miles de documentos o programar tareas. Cosas que el explorador gráfico simplemente no hace.
  • Remoto: para conectarte a servidores (como un VPS o un contenedor Docker) no hay interfaz gráfica: solo terminal.

No tienes que elegir uno u otro. Usa la terminal cuando te convenga y el ratón el resto del tiempo.

Antes de empezar: dónde estás

Cada vez que abres la terminal, estás parado en una carpeta concreta. Esa ubicación se llama directorio de trabajo. El primer comando que debes memorizar te dice dónde estás:

ice-tech
pwd

captura de consola

pwd significa print working directory (muestra el directorio de trabajo). Si devuelve algo como /home/tuusuario, ahí es donde están ocurriendo tus comandos.

Para ver qué hay en esa carpeta, usa ls (list):

ice-tech
ls

Y para ver más detalle (tamaños, permisos, fechas), añade la opción -l:

ice-tech
ls -l

captura de consola

Las opciones se llaman flags y casi siempre van precedidas por un guion. Poco a poco irás descubriendo las útiles: -a muestra también los archivos ocultos (los que empiezan por punto).

Moverse: el comando cd

Para cambiar de carpeta usas cd (change directory):

ice-tech
cd Documentos
cd ../Descargas
cd ~
  • cd Documentos entra en la subcarpeta Documentos.
  • cd .. sube un nivel (el .. significa "la carpeta padre").
  • cd ~ te lleva a tu carpeta personal, sea cual sea tu ubicación actual.

Si te pierdes, combina pwd y cd ~ para volver al inicio. Nadie nace sabiendo la ruta; todos usamos esos dos comandos a diario.

Crear, copiar y borrar

Aquí es donde la terminal brilla de verdad. Supón que quieres crear una carpeta de proyecto y dentro un archivo vacío:

ice-tech
mkdir proyecto
cd proyecto
touch notas.txt

mkdir crea el directorio, touch crea un archivo vacío (o actualiza su fecha si ya existe). Para copiar y mover:

ice-tech
cp notas.txt copia.txt
mv copia.txt /tmp/

cp copia, mv mueve (o renombra: mv notas.txt diario.txt cambia el nombre). Y para borrar, con cuidado:

ice-tech
rm diario.txt
rm -r proyecto

El flag -r significa recursive: borra la carpeta y todo lo que contiene. Ojo: en la terminal no hay papelera. Lo que borras con rm se ha ido. Por eso mucha gente usa rm -i (modo interactivo, pregunta antes de cada borrado) cuando empieza.

Leer el contenido de un archivo

No necesitas abrir un editor gráfico para echar un vistazo a un archivo de texto:

ice-tech
cat notas.txt
head -n 20 informe.log
tail -n 20 informe.log
  • cat vuelca todo el contenido de golpe.
  • head muestra las primeras líneas (útil para archivos enormes).
  • tail muestra las últimas (ideal para seguir un log en vivo con tail -f).

Permisos: el famoso chmod

En Linux cada archivo tiene permisos de lectura, escritura y ejecución para tres grupos: tú, tu grupo y el resto del mundo. Para convertir un script en ejecutable:

ice-tech
chmod +x miscript.sh
./miscript.sh

chmod +x añade el permiso de ejecución. El ./ delante le dice a bash: "ejecuta el archivo que está aquí, en esta carpeta". Sin el punto-barra, bash lo buscaría entre los programas del sistema y no lo encontraría.

El superpoder: redirección y tuberías

Dos símbolos cambian tu forma de trabajar: > y |.

El primero, >, envía la salida de un comando a un archivo en vez de a la pantalla:

ice-tech
ls -l > lista.txt

El segundo, | (pipe), pasa la salida de un comando como entrada del siguiente. Imagina que quieres contar cuántas imágenes tienes en una carpeta:

ice-tech
ls *.jpg | wc -l

wc -l cuenta líneas. Juntos cuentan tus fotos. Esta es la esencia de la filosofía Unix: muchos programas pequeños que hacen una cosa bien, encadenados para hacer algo grande.

Variables y tu primer script

Bash también entiende variables. Las defines sin espacios raros:

ice-tech
nombre="Nico"
echo "Hola, $nombre"

echo imprime texto. Y puedes guardar eso en un archivo .sh para repetirlo:

ice-tech
#!/bin/bash
# mi-primer-script.sh
echo "Empezando copia de seguridad..."
cp -r ~/Documentos /tmp/backup-$(date +%F)
echo "Hecho."

La primera línea (#!) indica qué intérprete usar. Le das permiso de ejecución con chmod +x mi-primer-script.sh y lo lanzas con ./mi-primer-script.sh. Acabas de automatizar tu primera tarea.

Atajos que te ahorran la vida

La terminal tiene trucos de teclado que la hacen volar:

  • Tab: autocompleta nombres de archivos y comandos. Púlsalo dos veces para ver opciones.
  • Flecha arriba: repite el comando anterior. Útil para reejecutar algo.
  • Ctrl + R: busca en el historial de comandos. Empieza a escribir y aparece el que quieres.
  • Ctrl + C: cancela el comando que está corriendo. Si algo se cuelga, esto lo para.
  • Ctrl + L: limpia la pantalla (como el comando clear).

Un flujo real de ejemplo

Juntemos lo aprendido en una tarea cotidiana: organizar las fotos de la semana en una carpeta con la fecha de hoy.

ice-tech
cd ~/Descargas
mkdir fotos-$(date +%F)
mv *.jpg *.png fotos-$(date +%F)/
ls -l fotos-$(date +%F)/

Tres líneas y tienes todas tus imágenes archivadas por fecha. Haz eso con el ratón y verás la diferencia.

Errores comunes de quien empieza

  • Espacios en nombres: cd Mis Documentos falla porque bash ve dos argumentos. Use cd "Mis Documentos" o cd Mis\ Documentos.
  • Mayúsculas: Descarga no es lo mismo que Descargas. La terminal distingue mayúsculas.
  • Borrar sin mirar: rm -rf / (con permisos de administrador) borra el sistema. Nunca lo escribas por curiosidad.
  • No leer el error: bash casi siempre te dice qué pasó. Léelo antes de volver a intentar.

Conclusión

Bash no es magia: es una conversación precisa con tu ordenador. Los comandos de este artículo (pwd, ls, cd, mkdir, cp, mv, rm, cat, chmod, echo y la redirección con > y |) ya cubren el 80% del uso diario. El resto lo aprenderás sobre la marcha, cuando tengas un problema concreto que resolver.

Mi consejo: abre la terminal hoy y crea una carpeta, muévete dentro, escribe un archivo con touch y borra lo que sobRE. En diez minutos de práctica aprenderás más que en una hora leyendo. La terminal deja de dar miedo en cuanto la usas, no en cuanto la entiendes.