Saltar a contenido

📚 Módulo 1: Tu primera aventura en la terminal

Duración estimada: 2-3 horas según tu ritmo y experiencia.

Objetivo: Aprender a abrir la terminal, usar comandos básicos como echo, ls y cd, y entender qué es Bash para empezar a explorarlo con confianza. 🎯

Prerrequisitos: Acceso a un sistema Linux, macOS o WSL con una terminal (Terminal.app, GNOME Terminal, o similar) y un editor de texto (nano, vim o VS Code).

Nota: Si es tu primera vez, tómate tu tiempo para explorar cada paso sin prisa.


📖 Contenidos del Módulo

1.1. Descubriendo la terminal: Tu nueva herramienta 🌱

Teoría:

La terminal es una interfaz de texto donde le das órdenes a tu sistema operativo. Bash, o Bourne Again SHell, es un programa que interpreta esos comandos y es la shell predeterminada en muchos sistemas Unix/Linux. Bash ejecuta instrucciones y devuelve salidas, siendo clave para automatización y administración de sistemas.

Práctica:

  1. Abre la terminal: Busca "Terminal" en el menú o usa Ctrl+Alt+T (en Linux).
# Solo ábrela, no escribas aún

Esto inicia una sesión de Bash, donde interactuarás con el sistema.

  1. Escribe tu primer comando para mostrar texto:
echo "¡Hola, estoy explorando!"

El comando echo imprime texto en la pantalla; pruébalo y observa la salida.

  1. Verifica la versión de Bash instalada:
bash --version

Esto muestra la versión (ej. 5.1), indicando qué capacidades tiene tu Bash.

  1. Personaliza el comando con tu nombre:
echo "¡Hola, soy [tu nombre]!"

Aquí usas echo con un argumento, un concepto básico de entrada en Bash.

  1. Cierra y reabre la terminal para practicar:
exit
# Vuelve a abrir y escribe: echo "¡Vuelvo a empezar!"

Esto reinicia la sesión, mostrando cómo Bash se carga cada vez.

Dato curioso: Bash fue creado en 1989 por Brian Fox como alternativa libre al Bourne Shell original. 😄


1.2. Explorando tu espacio: Moviéndote con comandos 🗺️

Teoría:

ls lista el contenido de un directorio, mostrando archivos y carpetas. cd cambia el directorio actual, y pwd devuelve la ruta absoluta en el sistema de archivos. Estos tres comandos son la base para navegar y organizar tu trabajo desde la terminal.

Práctica:

  1. Mira el contenido de tu carpeta actual:
ls

Esto lista los archivos del directorio donde estás ahora mismo.

  1. Ve a tu carpeta home y verifica tu ubicación:
cd ~
pwd

cd ~ te lleva al directorio home (ej. /home/usuario); pwd confirma la ruta.

  1. Crea una carpeta llamada mi_aventura:
mkdir mi_aventura
ls

mkdir genera un nuevo directorio; verifica con ls que aparece en la lista.

  1. Entra en esa carpeta y confírmalo:
cd mi_aventura
pwd

Esto cambia el directorio activo; pwd muestra la nueva ruta completa.

  1. Regresa al home y revisa el contenido:
cd ~
ls

cd ~ vuelve al inicio; ls muestra la carpeta que acabas de crear.

Consejo: Usa cd .. para subir un nivel en el árbol de directorios. Es la forma más común de navegar hacia atrás. 💡


1.3. Personalizando tu viaje: Pequeños trucos ⚙️

Teoría:

Puedes ajustar la terminal con comandos o archivos de configuración como .bashrc. Este archivo es un script que Bash ejecuta al iniciar cada sesión interactiva, y permite definir alias, variables y otras preferencias de entorno. Lo exploraremos en profundidad en el Módulo 5; por ahora solo lo veremos.

Práctica:

  1. Mira el archivo de configuración .bashrc:
less ~/.bashrc

less muestra el contenido de forma paginada. Usa las flechas para desplazarte y q para salir.

  1. Crea un archivo temporal con un mensaje:
echo "¡Estoy explorando!" > mi_nota.txt
cat mi_nota.txt

> redirige la salida a un archivo; cat muestra su contenido. Veremos las redirecciones con detalle en el Módulo 2.

  1. Borra el archivo temporal:
rm mi_nota.txt
ls

rm elimina archivos; ls confirma que ya no está.

  1. Cambia el color del texto a verde:
echo -e "\e[32mTexto verde\e[0m"

-e habilita códigos de escape ANSI para colores. \e[32m activa el verde y \e[0m lo desactiva.

  1. Prueba el color azul y experimenta:
echo -e "\e[34mTexto azul\e[0m"

Puedes probar otros colores cambiando el número: 31 para rojo, 33 para amarillo, 35 para magenta.

Nota: No edites .bashrc aún; lo haremos en el Módulo 5 con más detalle. 🚀


1.4. Buscando ayuda en tu aventura: man 📖

Teoría:

man muestra las páginas del manual, una documentación técnica integrada en el propio sistema. Cada comando tiene una entrada con sintaxis, opciones y ejemplos. Además, con man -k palabra (equivalente a apropos) puedes buscar comandos cuando no recuerdas el nombre exacto. Es tu recurso principal para aprender sin salir de la terminal.

Práctica:

  1. Abre la ayuda de ls:
man ls

Lee la introducción; usa q para salir.

  1. Busca la opción para ver detalles (-l):
man ls
# Una vez dentro, escribe:
/-l

/ seguido de texto busca dentro del manual; usa n para ir al siguiente resultado y q para salir.

  1. Busca la opción para mostrar archivos ocultos (-a):
man ls
# Una vez dentro:
/-a
  1. Busca comandos por palabra clave:
man -k "copy files"

Esto lista todos los comandos del sistema cuya descripción contiene esas palabras. Muy útil cuando no recuerdas el nombre exacto de un comando.

  1. Anota una opción útil que hayas encontrado:
# Ejemplo: -l para ver detalles, -h para tamaños legibles

Advertencia: No te preocupes si no entiendes todo el manual al principio; solo explora. Con el tiempo se volverá tu mejor aliado. 🛑


1.5. Tu primer hechizo: Un script sencillo 🚀

Teoría:

Un script es un archivo de texto con una secuencia de comandos que Bash ejecuta en orden. La primera línea, #!/bin/bash, se llama shebang e indica al sistema operativo qué intérprete debe usar para ejecutar el archivo. Esta es la base de la automatización en Bash.

Práctica:

  1. Crea un archivo mi_hechizo.sh:
nano mi_hechizo.sh

Esto abre el editor de texto nano. Escribe el contenido del siguiente paso.

  1. Añade el shebang y un mensaje, luego guarda con Ctrl+O, Enter y sal con Ctrl+X:
#!/bin/bash
echo "¡Mi primer hechizo en Bash!"

El shebang en la primera línea asegura que sea Bash quien procese el archivo.

  1. Dale permiso de ejecución:
chmod +x mi_hechizo.sh

chmod +x cambia los permisos del archivo para que sea ejecutable. Sin este paso, el sistema no te dejará correrlo.

  1. Ejecuta el script:
./mi_hechizo.sh

./ indica que el script está en el directorio actual. Deberías ver el mensaje en pantalla.

  1. Modifica el script con tu nombre y vuelve a probarlo:
nano mi_hechizo.sh
# Cambia la línea echo por:
echo "¡Mi primer hechizo, soy [tu nombre]!"
./mi_hechizo.sh

Consejo: Si al ejecutar obtienes "Permission denied", verifica los permisos con ls -l mi_hechizo.sh y asegúrate de que aparece una x en los permisos. 💡


🛠️ Ejercicios prácticos

  1. Navegación: Crea una carpeta exploracion y entra en ella con cd.
  2. Exploración: Usa ls -l y anota qué información extra muestra respecto a ls simple.
  3. Ayuda: Abre man ls y busca cómo listar solo directorios (pista: opción -d).
  4. Script: Crea un script hola_mundo.sh que imprima "¡Hola, mundo!".
  5. Desafío: Crea dos carpetas y escribe un script que muestre la ruta actual al entrar en cada una.

📝 Evaluación

Cuestionario (5 preguntas):

  1. ¿Qué hace el comando echo?
  2. ¿Para qué sirve cd?
  3. ¿Qué muestra ls?
  4. ¿Cómo abres la página de manual de un comando?
  5. ¿Qué es el #!/bin/bash al inicio de un script?

Tarea práctica:

Crea un script mi_viaje.sh que: - Muestre tu nombre con echo. - Cree una carpeta llamada viaje con mkdir. - Muestre la ruta actual con pwd.

Entrega: El script y una nota breve explicando qué hace cada línea.

🎬 Vídeo con la solución de la evaluación: Próximamente.


🎉 Recursos adicionales

  • Documentación: man bash, man ls, man cd.
  • Guía para principiantes: Bash Beginners Guide (TLDP) — una referencia muy completa en inglés.
  • Práctica interactiva: Linux Journey — pasos básicos con ejercicios guiados.

Tip: Practica abriendo la terminal y usando echo diariamente. La repetición es la clave. 💡


🚀 Siguientes pasos

¡Felicidades por completar el Módulo 1! En el Módulo 2 aprenderás a crear scripts más completos con variables, a guardar resultados en archivos y a conectar comandos entre sí. ¡Sigue explorando! ✍️