Contexto: Las siguientes opciones detallan las diferentes maneras que tenemos de ejecutar comandos para gestionar el sistema operativo, sus ficheros y configuraciones. Este conocimiento es fundamental tanto para administrar y personalizar nuestros propios sistemas locales desde la CLI, como para automatizar entornos de producción en servidores o configurar máquinas remotas desde cero.

Gestión y Automatización del Sistema desde la CLI con Bash

El manejo del sistema operativo mediante Bash abarca desde la introducción manual de órdenes hasta la automatización completa mediante scripts y la generación dinámica de configuraciones para servicios del sistema.

1. Ejecución Manual de Comandos

Es el uso interactivo tradicional de la terminal. El administrador escribe los comandos directamente en el prompt (línea de comandos) y espera a que terminen para introducir el siguiente. Es el método ideal para diagnósticos rápidos, mantenimiento diario o tareas puntuales en nuestro propio equipo.

sudo apt-get update
sudo apt-get install -y nginx
sudo systemctl enable --now nginx

2. Tipos de Archivos de Automatización

Cuando la ejecución manual no es viable por volumen, repetitividad o necesidad de escalabilidad, pasamos a la ejecución automatizada estructurada en archivos.

A. Ejecución secuencial (Archivo de texto plano)

Consiste en guardar una lista de comandos manuales en un archivo de texto plano (.txt o sin extensión). Bash los leerá y ejecutará línea a línea, simulando que un usuario los teclea secuencialmente.

mkdir -p $HOME/mi_entorno
cd $HOME/mi_entorno
touch archivo1.txt archivo2.txt
ls -la

B. Scripts de Bash (.sh)

Consiste en agrupar la lógica en un script ejecutable estructurado. Supera las limitaciones de la lista plana al permitir el uso de variables de entorno, funciones, manejo de errores y flujos de control (if, for, while).

#!/bin/bash
DIR_TARGET="$HOME/proyecto"

if [ ! -d "$DIR_TARGET" ]; then
    mkdir -p "$DIR_TARGET"
    echo "Directorio creado automáticamente."
fi

3. Métodos de Acceso y Ejecución

La forma de invocar estos archivos cambia dependiendo de si los recursos residen en el almacenamiento local o en un repositorio externo.