Descripción del curso Bash Comandos
La terminal de comandos es una herramienta fundamental para cualquier profesional de la informática. Dominar Bash y los comandos de Linux te permitirá trabajar de manera más eficiente, automatizar tareas repetitivas y tener un control preciso sobre tu sistema operativo. Este curso te guiará desde los conceptos básicos hasta técnicas avanzadas que utilizan los administradores de sistemas y desarrolladores profesionales.
¿Por qué aprender Bash y comandos Linux?
En el mundo del desarrollo de software y la administración de sistemas, la línea de comandos ofrece ventajas significativas frente a las interfaces gráficas:
- Mayor velocidad y eficiencia en la ejecución de tareas
- Automatización de procesos mediante scripts
- Control preciso sobre el sistema operativo
- Acceso remoto a servidores sin necesidad de interfaces gráficas
- Requisito fundamental para roles de DevOps, administración de sistemas y desarrollo backend
Ecosistema Linux y su importancia
Linux es el sistema operativo dominante en servidores, infraestructura en la nube y dispositivos embebidos. Conocerás las principales distribuciones como Ubuntu, Debian, CentOS y Fedora, entendiendo sus diferencias y casos de uso específicos.
Para usuarios de Windows, exploraremos cómo instalar y configurar WSL (Windows Subsystem for Linux), permitiéndote trabajar con un entorno Linux completo sin necesidad de máquinas virtuales o particiones duales.
Fundamentos de Shell y Bash
Bash (Bourne Again SHell) es el intérprete de comandos más utilizado en sistemas Unix/Linux. Aprenderás:
- La diferencia entre shell y terminal
- El funcionamiento del prompt y la estructura de comandos
- Variables de entorno y su configuración
- Historial de comandos y técnicas para navegar eficientemente
Navegación y gestión de archivos
Dominarás los comandos esenciales para moverte por el sistema de archivos:
pwd # Muestra el directorio actual
cd # Cambia de directorio
ls -la # Lista archivos con formato detallado
Aprenderás a manipular archivos y directorios con precisión:
mkdir -p proyectos/nuevo # Crea directorios anidados
touch archivo.txt # Crea un archivo vacío
cp -r origen destino # Copia recursivamente
mv antiguo nuevo # Mueve o renombra
rm -rf directorio # Elimina recursivamente
Compresión y archivado
Trabajarás con diferentes formatos de compresión:
- tar: para crear archivos .tar
- gzip/gunzip: para compresión .gz
- zip/unzip: compatible con sistemas Windows
- bzip2: para mayor ratio de compresión
Gestión de permisos y propiedad
El sistema de permisos Unix es fundamental para la seguridad. Aprenderás:
- Interpretación de permisos (
rwxrwxrwx
) - Modificación con
chmod
usando notación octal y simbólica - Cambio de propietario con
chown
- Cambio de grupo con
chgrp
- Permisos especiales como SUID, SGID y sticky bit
Enlaces en el sistema de archivos
Comprenderás la diferencia entre:
- Enlaces simbólicos: atajos a archivos que pueden apuntar a diferentes sistemas de archivos
- Enlaces duros: referencias directas al mismo inodo que comparten datos
ln -s archivo enlace_simbolico # Crea un enlace simbólico
ln archivo enlace_duro # Crea un enlace duro
Redirección y tuberías
Estas técnicas son la base de la composición de comandos:
- Redirección de salida con
>
y>>
- Redirección de entrada con
<
- Tuberías (
|
) para conectar la salida de un comando con la entrada de otro - Redirección de errores con
2>
y2>&1
ls -la > listado.txt # Guarda la salida en un archivo
grep "error" < logs.txt # Busca en el contenido del archivo
cat archivo.txt | grep "texto" # Filtra la salida con una tubería
Gestión de procesos
Aprenderás a controlar los programas en ejecución:
- Visualización de procesos con
ps
yhtop
- Búsqueda de procesos con
pgrep
- Envío de señales con
kill
ykillall
- Ejecución en segundo plano con
&
ynohup
- Control de trabajos con
jobs
,fg
ybg
Administración de servicios
Con systemd, el sistema de inicio estándar en la mayoría de distribuciones modernas, podrás:
- Iniciar, detener y reiniciar servicios
- Configurar servicios para que se inicien automáticamente
- Verificar el estado de los servicios
- Examinar los logs de servicios
sudo systemctl start apache2
sudo systemctl enable mysql
sudo systemctl status sshd
journalctl -u nginx
Personalización de Bash
Mejorarás tu experiencia en la terminal mediante:
- Configuración de archivos
.bashrc
y.bash_profile
- Creación de alias para comandos frecuentes
- Personalización del prompt (PS1)
- Configuración de autocompletado avanzado
Redes y comunicación
Dominarás herramientas esenciales para diagnóstico y configuración de red:
- Configuración de interfaces con
ifconfig
yip
- Monitoreo de conexiones con
netstat
yss
- Diagnóstico con
ping
,traceroute
ydig
- Análisis de tráfico con
tcpdump
SSH y transferencia de archivos
Aprenderás a trabajar con sistemas remotos de forma segura:
- Conexión a servidores con SSH
- Configuración de claves públicas/privadas
- Transferencia de archivos con
scp
yrsync
- Túneles SSH para acceso seguro a servicios
ssh usuario@servidor
scp archivo.txt usuario@servidor:/ruta/destino/
rsync -avz directorio/ usuario@servidor:/backup/
Gestión de paquetes
Trabajarás con los sistemas de gestión de paquetes más importantes:
- apt/apt-get para distribuciones basadas en Debian/Ubuntu
- dnf/yum para distribuciones basadas en Red Hat/Fedora
- pacman para Arch Linux
- Instalación desde código fuente
sudo apt update && sudo apt upgrade
sudo apt install nombre-paquete
sudo apt remove nombre-paquete
Aplicaciones prácticas
A lo largo del curso, aplicarás estos conocimientos en escenarios reales como:
- Configuración de un entorno de desarrollo
- Automatización de tareas mediante scripts Bash
- Monitorización de sistemas
- Despliegue de aplicaciones
- Copias de seguridad automatizadas
Dominar la terminal de comandos y Bash te proporcionará una ventaja competitiva en el mercado laboral y te permitirá trabajar con mayor eficiencia en entornos de desarrollo y producción. Estos conocimientos son fundamentales para roles como desarrollador backend, administrador de sistemas, DevOps o ingeniero de seguridad.
Lecciones de este curso
Explora todas las lecciones incluidas en este curso de programación
Explorar más cursos de programación
Descubre más cursos y hojas de ruta de programación

Alan Sastre
Ingeniero de Software y formador, CEO en CertiDevs
Ingeniero de software especializado en Full Stack y en Inteligencia Artificial. Como CEO de CertiDevs, se dedica a crear hojas de ruta y cursos de programación estructurados. Con más de 15 años programando, 6K seguidores en LinkedIn y experiencia como formador, Alan diseña contenido educativo de calidad para desarrolladores de todos los niveles.