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:
pwd

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):
ls
Y para ver más detalle (tamaños, permisos, fechas), añade la opción -l:
ls -l

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):
cd Documentos
cd ../Descargas
cd ~
cd Documentosentra 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:
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:
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:
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:
cat notas.txt
head -n 20 informe.log
tail -n 20 informe.log
catvuelca todo el contenido de golpe.headmuestra las primeras líneas (útil para archivos enormes).tailmuestra las últimas (ideal para seguir un log en vivo contail -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:
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:
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:
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:
nombre="Nico"
echo "Hola, $nombre"
echo imprime texto. Y puedes guardar eso en un archivo .sh para repetirlo:
#!/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.
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 Documentosfalla porque bash ve dos argumentos. Usecd "Mis Documentos"ocd Mis\ Documentos. - Mayúsculas:
Descargano es lo mismo queDescargas. 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.