Skip to content

01 Definicion y Estructura de un Shell

Alan edited this page Jun 13, 2026 · 1 revision

Definición y Estructura de un Shell

Tabla de Contenidos

Qué es el Shell

El shell es un programa que provee una interfaz de usuario que permite, a través de una terminal, interactuar con el SO para la realización de tareas.

El shell es la encargada de traducir los comandos introducidos, a través de la terminal, en instrucciones que el SO pueda realizar. Si un comando produce un resultado (output), entonces se mostrará en la terminal. Por otra parte, si ocurre algún error en el comando, entonces se mostrará un mensaje de error en la terminal.

Bash

En un entorno de Linux, existen una variedad de shells, siendo Bash (del proyecto GNU) la más común y la predeterminada en la mayoría de las distribuciones de Linux. Bash provee muchas funciones avanzadas, tales como:

  • Historial de comandos: historial guardado en el archivo .bash_history. Permite ejecutar comandos guardados en el historial.

  • Edición en línea: al visualizar los comandos previamente ejecutados, permite editarlos para ejecutarlos.

  • Scripting: permite crear un programa (script) haciendo uso de comandos, flujos de control (condicionales y ciclos), colecciones (e.g., arreglos, y diccionarios), funciones (AKA subroutines), etc.

  • Aliases: permite crear un alias corto para los comandos, especialmente aquellos que son largos.

  • Variables: permite crear y utilizar variables locales y de entorno dentro de los scripts y la sesiones de shell. Estas variables pueden modificar el cómo los comandos y las funciones funcionan; también pueden proveer información al sistema.

Prompt

El prompt es el texto que muestra la terminal para indicar que está lista para recibir comandos. Además de solicitar entrada, puede proporcionar información útil al usuario. El prompt puede ser personalizado y su estructura varía según la shell y la distribución de Linux. Por lo general, el prompt de Bash tiene una estructura como la siguiente:

admin@server:~$

Donde:

  • admin es el user (nombre de usuario).

  • server es el hostname (nombre del host, la máquina).

  • ~ es el current directory (directorio actual).

    El ~ indica que estamos ubicados en el directorio del usuario admin. Por lo lo general, el directorio de un usuario está ubicado dentro del directorio /home, y tiene el nombre del usuario (user), por ejemplo /home/admin.

    [!NOTE]

    El directorio del usuario root se encuentra normalmente ubicado en el directorio /root.

  • $ es el nivel de privilegios. El $ significa que tenemos privilegios de usuario normal y # significa que tenemos privilegios de usuario root.

Referencias

  • Shotts, W. (2019). What is the Shell?. The Linux Command Line (2nd ed., pp. 3-6). No Starch Press.

Introducción a los Sistemas Operativos

Introducción a Linux

Licencias de Software

Archivos y Directorios

Introducción a la CLI

Manipulación de Archivos y Directorios

Documentación y Exploración de Comandos

Redirección

Búsqueda de Archivos y Texto

Editores de Texto de Terminal

Gestión de Usuarios y Grupos

Propiedad y Permisos

Herramientas Esenciales

Hardware

Apéndice

Clone this wiki locally