Curso Consola de comandos Linux Bash

La consola de comandos es una herramienta fundamental en el mundo de Linux. Permite interactuar de manera directa con el sistema operativo, ofreciendo un control total sobre las operaciones que se realizan. Bash, acrónimo de "Bourne Again SHell", es el intérprete de comandos pre…

Certificado profesional
Curso de programación
15 horas
Intermedio
Actualizado: 18/04/2026

¡Desbloquea el curso completo!

Asistente IA
Ejercicios código
Certificado
Empezar curso

Curso Consola de comandos Linux Bash con certificado

La consola de comandos es una herramienta fundamental en el mundo de Linux. Permite interactuar de manera directa con el sistema operativo, ofreciendo un control total sobre las operaciones que se realizan. Bash, acrónimo de "Bourne Again SHell", es el intérprete de comandos predeterminado en la mayoría de distribuciones de Linux y es esencial para cualquier usuario que desee dominar este sistema operativo.

¿Por qué aprender Bash?

Conocer Bash no solo te permite realizar tareas de forma más eficiente, sino que también te abre las puertas a la automatización y al scripting, facilitando procesos repetitivos y complejos. Al dominar la consola de comandos Linux Bash, podrás:

  • Navegar y gestionar archivos y directorios con rapidez.
  • Controlar procesos y servicios en el sistema.
  • Personalizar y configurar tu entorno de trabajo.
  • Crear scripts que automatizan tareas, ahorrando tiempo y esfuerzo.

Este curso, Consola de comandos Linux Bash, está diseñado para guiarte desde los conceptos básicos hasta técnicas avanzadas, proporcionándote las habilidades necesarias para desenvolverte con soltura en entornos Linux.

Introducción y entorno

Principales distribuciones de Linux

Linux es un sistema operativo de código abierto que se distribuye en diferentes versiones, conocidas como distribuciones. A diferencia de Windows, que es propietario y de código cerrado, Linux ofrece flexibilidad y adaptabilidad según las necesidades del usuario.

  • Debian: Una de las distribuciones más antiguas, conocida por su estabilidad y su enfoque en la comunidad.
  • Ubuntu: Basada en Debian, es una de las distribuciones más populares para usuarios nuevos y experimentados, con un fuerte soporte de la comunidad.
  • Alpine Linux: Orientada a la seguridad y ligereza, ideal para sistemas con recursos limitados o contenedores.

Instalar Ubuntu en Windows con WSL

El Subsistema de Windows para Linux (WSL) permite ejecutar entornos Linux directamente en Windows sin la sobrecarga de una máquina virtual. Esto es especialmente útil para desarrolladores que trabajan en entornos mixtos.

  • Introducción a WSL: WSL es una capa de compatibilidad que permite ejecutar binarios Linux en Windows.
  • Configuración previa en Windows: Habilitar WSL desde las opciones de desarrollador y actualizar el sistema.
  • Instalación de Ubuntu en WSL: Descarga desde Microsoft Store y configuración inicial.
  • Primeros pasos con Ubuntu en WSL: Navegación básica y ejecución de comandos en Bash.

Introducción a Shell y Bash

  • Definición y propósito de Shell: Es la interfaz que permite comunicarse con el sistema operativo mediante comandos.
  • Definición y propósito de Bash: Es una de las múltiples Shell disponibles, destacando por su compatibilidad y funciones avanzadas.
  • ¿Por qué es importante saber usar la consola?: Ofrece mayor control, eficiencia y posibilidades de automatización.
  • El comando man para ver documentación de ayuda: Acceso a manuales detallados de comandos y herramientas.

Navegación y gestión de archivos y directorios

Comandos de navegación: pwd, cd y ls

  • Comando pwd: Muestra la ruta del directorio actual, ayudando a orientarse en el sistema de archivos.
  • Rutas absolutas y relativas: Comprender la diferencia es esencial para navegar y manipular archivos correctamente.
  • Comando cd y sus atajos: Permite cambiar de directorio. Atajos como cd ~ (home) o cd .. (directorio padre) optimizan la navegación.
  • Comando ls y sus opciones comunes: Lista el contenido de un directorio. Opciones como -l (lista detallada) o -a (archivos ocultos) amplían su funcionalidad.
  • Comando --help para ver opciones de los comandos: Proporciona una guía rápida sobre cómo utilizar un comando.

Manipulación de archivos y directorios

  • Creación y eliminación: mkdir para crear directorios, touch para crear archivos vacíos, rm y rmdir para eliminar.
  • Copiar y mover: cp para copiar archivos o directorios, mv para mover o renombrar.
  • Visualización del contenido: Comandos como cat, less, more y head permiten ver el contenido de archivos.
  • Búsqueda y filtrado: find localiza archivos y directorios, xargs ejecuta comandos sobre los resultados, grep busca patrones dentro de archivos.

Comprimir y descomprimir archivos con tar y gzip

  • Uso de tar: Empaqueta múltiples archivos y directorios en uno solo, facilitando su gestión.
  • Comandos gzip y gunzip: Comprimen y descomprimen archivos, reduciendo su tamaño para almacenamiento o transferencia.
  • Crear archivos .tar.gz: Combinación de tar y gzip para empaquetar y comprimir simultáneamente.

Manipulación de permisos con chmod, chown y chgrp

  • Notación simbólica y octal: Dos formas de representar y modificar permisos en Linux.
  • Comando chmod: Cambia los permisos de archivos y directorios, controlando lectura, escritura y ejecución.
  • Uso de chown y chgrp: chown modifica el propietario, chgrp cambia el grupo asociado.
  • Usuario administrador y creación de usuarios: Gestión de usuarios y privilegios en el sistema.

Enlaces simbólicos y duros

  • Creación y uso de enlaces simbólicos (ln -s): Atajos o referencias a archivos o directorios, útiles para accesos rápidos.
  • Diferencias con enlaces duros: Mientras un enlace duro es indistinguible del original, un enlace simbólico apunta al nombre del archivo.
  • Gestión y eliminación de enlaces: Cómo identificar y eliminar enlaces sin afectar al contenido original.

Redirección y tuberías

  • Redirección de salida estándar: > sobrescribe y >> agrega al final de un archivo; 2> y 2>> manejan errores.
  • Redirección de entrada estándar: < permite que un comando tome entrada de un archivo.
  • Uso de tuberías (|): Conecta la salida de un comando con la entrada de otro, creando cadenas de procesamiento.
  • Tuberías con redirección: Combinación de tuberías y redirecciones para operaciones más complejas.
  • El comando tee: Divide la salida de un comando, mostrando en pantalla y guardando en un archivo simultáneamente.

Gestión de procesos y servicios

Gestión de procesos con ps, htop y pgrep

  • Procesos en primer y segundo plano: Diferencias y cómo interactuar con ellos.
  • Visualización y monitorización: ps muestra procesos activos, top y htop ofrecen una vista en tiempo real.
  • Buscar procesos con pgrep: Localiza procesos por nombre o criterios específicos.
  • Envío de señales a procesos: Uso de kill y otras señales para controlar procesos.

Gestión de servicios con systemd

  • Introducción a los servicios en Unix/Linux: Programas que se ejecutan en segundo plano para ofrecer funcionalidades.
  • El sistema de init systemd: Administrador de sistemas y servicios en muchas distribuciones modernas.
  • Uso de systemctl: Controla la activación, desactivación y estado de servicios.
  • Supervisión y registro con systemd: Acceso a logs y seguimiento de eventos del sistema.

Interacción con el sistema

Configuración de Bash

  • Archivos de configuración: .bashrc, .bash_profile y otros permiten personalizar el entorno.
  • Variables de entorno: Modificación y creación de variables que afectan al comportamiento del sistema y aplicaciones.
  • Personalización del prompt: Adaptar la línea de comandos para mostrar información relevante.

Redes y comunicación con ifconfig, ip y netstat

  • Conceptos básicos de redes: Dirección IP, máscaras de red, puertas de enlace y su importancia.
  • Comandos de red:
    • ifconfig y ip: Configuración y visualización de interfaces de red.
    • ping: Verificación de conectividad con otros hosts.
    • nslookup y dig: Resolución de nombres de dominio y diagnóstico DNS.
    • traceroute: Seguimiento de la ruta que toman los paquetes hasta su destino.
    • netstat y ss: Información sobre conexiones y puertos abiertos.

Transferencia de archivos y comunicación remota con SSH

  • El comando scp: Copia segura de archivos entre hosts a través de SSH.
  • El comando rsync: Sincronización eficiente de archivos y directorios, local o remotamente.
  • El comando ssh: Conexión segura a servidores remotos, permitiendo ejecutar comandos o acceder a una shell.

Gestión de paquetes y actualización del sistema

  • Introducción a gestores de paquetes: Facilitan la instalación, actualización y eliminación de software.
  • Uso del gestor apt en Debian/Ubuntu:
    • apt update: Actualiza la lista de paquetes disponibles.
    • apt upgrade: Actualiza los paquetes instalados.
    • apt install y apt remove: Instala o elimina paquetes específicos.
  • Gestión de dependencias: apt se encarga de resolver dependencias para asegurar el correcto funcionamiento del software.
  • Manejo de repositorios: Añadir o modificar fuentes desde las cuales se obtienen los paquetes.

Sintaxis y creación de scripts en Bash

Variables y tipos de datos

  • Definición y asignación: Asignar valores a variables para su uso en scripts.
  • Tipos de datos: Aunque Bash trata todo como cadenas, es posible trabajar con números y otros tipos.
  • Ámbito de las variables: Entender el alcance local y global, y cómo exportar variables.

Operadores

  • Operadores aritméticos: Suma, resta, multiplicación, división y módulo.
  • Operadores de comparación: Igualdad, desigualdad, mayor, menor, etc., utilizados en condiciones.
  • Operadores lógicos: AND, OR y NOT para evaluar múltiples condiciones.
  • Operadores de manipulación de cadenas: Concatenación, longitud, extracción de subcadenas.
  • Operadores de archivos: Comprobar existencia, permisos y tipo de archivos.
  • Precedencia de operadores: Orden en el que se evalúan las expresiones.

Sintaxis de control de flujo

  • Estructuras condicionales:
    • if, else, elif: Ejecutar comandos basados en condiciones.
  • Estructura case: Simplifica múltiples condiciones, similar a switch en otros lenguajes.
  • Bucles:
    • for: Iterar sobre una lista o rango.
    • while y until: Repetir mientras se cumpla o no una condición.
  • Control de bucles: break para salir y continue para saltar a la siguiente iteración.
  • Comando select: Crear menús interactivos en scripts.

Expresiones regulares y manipulación de texto

  • Introducción a las expresiones regulares: Patrones que permiten buscar y manipular texto con precisión.
  • Uso de grep: Buscar cadenas que coincidan con un patrón en archivos o salida de comandos.
  • Manipulación con sed: Editor de flujo que permite reemplazar, insertar y eliminar texto en línea.
  • Procesamiento con awk: Herramienta potente para analizar y procesar archivos de texto estructurados.

Definición y uso de funciones

  • Sintaxis básica: Definir funciones para reutilizar código en scripts.
  • Llamada y ejecución: Cómo invocar funciones y pasarles el control en un script.
  • Paso de argumentos: Enviar datos a las funciones para personalizar su ejecución.
  • Retorno de valores: Obtener resultados de una función para utilizarlos posteriormente.

Explorar más cursos de programación

Descubre más cursos y hojas de ruta de programación

Alan Sastre - Autor del curso

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.