Arquitectura de Linux para programar Bash

Clase 2 de 43Curso de Programación en Bash Shell

Resumen

Domina los fundamentos de Linux y la programación Bash con una visión clara y práctica. Aquí entenderás cómo se conectan el kernel, el shell y las aplicaciones, por qué elegir Bash frente a otros shells y qué utilidades usar para obtener ayuda rápida y precisa. Ideal si buscas bases sólidas con autoridad técnica y foco en lo esencial.

¿Qué componentes de Linux debes dominar para Bash?

Comprender la arquitectura de Linux acelera tu aprendizaje de Bash. Linux se compone de tres partes que trabajan juntas para ejecutar y controlar el sistema.

  • Kernel: núcleo del sistema operativo. Gestiona memoria, procesamiento y periféricos. Ejecuta aplicaciones.
  • Shell: intérprete con interfaz de usuario. Traduce instrucciones de alto nivel a bajo nivel para controlar programas.
  • Aplicaciones: programas como LibreOffice o lectores de PDF que ejecutan comandos y acceden a periféricos o al kernel.

¿Cómo se relacionan kernel, shell y aplicaciones?

Las aplicaciones interactúan con el sistema mediante el shell. Este interpreta órdenes y coordina acciones con el kernel.

  • El shell ejecuta y coordina comandos de usuario.
  • El kernel controla recursos y dispositivos.
  • Las aplicaciones realizan tareas y delegan operaciones al sistema.

¿Qué tipos de shell existen y por qué usar Bash?

En Linux existen varios shells con diferencias de uso y características. Aquí se trabaja con Bash por su adopción amplia y porque asume características de otros shells.

  • sh (SH): base histórica y muy extendida.
  • ksh (KSH) y csh (CSH): alternativas con rasgos propios.
  • bash: el elegido para programar aquí; integra rasgos de sh y ksh.

Se sugiere revisar material adicional sobre diferencias entre shells cuando se indique. Así refuerzas criterios de elección y compatibilidad.

¿Qué necesitas preparado: VirtualBox y Ubuntu?

La práctica se realiza en una máquina virtual con VirtualBox usando una imagen de Ubuntu. Es la continuación del curso previo de Linux, donde se revisaron comandos básicos.

  • Tener lista la VM de Ubuntu en VirtualBox.
  • Recordar conceptos vistos: comandos base y manejo inicial del sistema.
  • Enfocarse en Bash para escribir programas y automatizar tareas.

¿Cómo consultar ayuda y usar permisos de superusuario?

Antes de programar, es clave gestionar permisos y saber obtener ayuda rápida sobre comandos. Necesitarás la cuenta de administrador/superusuario (root) para tareas que requieren privilegios.

  • Permisos de administrador: algunas acciones requieren elevar privilegios.
  • root: cuenta de superusuario para ejecutar comandos críticos.
  • Variaciones por versión: entre distribuciones pueden cambiar formas de acceso, pero los comandos estándar y la lógica de programación se mantienen.

¿Cómo ver documentación con man e info?

Cuando no conoces un comando, usa las páginas de ayuda integradas.

  • man comando: información puntual, específica y explícita.
  • info comando: documentación más completa y de estándar general en Linux.

¿Cómo acceder como superusuario en Ubuntu?

El acceso puede variar entre sistemas. Se menciona el uso de su en algunos, y en Ubuntu se utiliza el tema de sub para ejecutar como administrador.

  • Confirmar el método según la distribución.
  • Ejecutar con privilegios cuando sea necesario.

¿Tienes dudas sobre kernel, shells o permisos en Ubuntu? Cuéntame qué tema quieres practicar primero y avanzamos paso a paso.