Algoritmos y Estructuras de Datos Compiladores e Intérpretes Herramientas Lenguaje de programación
!Prog C/C++
Linux Matemáticas
Mates Discretas
Programación Orientada a Objetos Redes y Computación Distribuida Sistemas Operativos

Shell, Bash y Bashrc

[date: 31-08-2022] [last modification: 10-01-2025]
[words: 315] [reading time: 2min] [size: 3515 bytes]

Guia breve sobre Bash, diferencias con Shell, terminal, consola y prompt.

Shell y Bash

Una shell un tipo de software que provee de una interfaz para los usuarios de un sistema operativo para que estos puedan interactuar con el kernel y sus servicios. Puedes imaginarlo como una capa (concha) alrededor del kernel y sus servicios

También existen shells para diversos lenguajes de programación, por ejemplo, ejecuta python sin ningún argumento (sal con exit()).

En la práctica, la shell es un intérprete que ejecuta los comandos que el usuario le dé.

La shell estándar que casi todos sistemas Linux modernos utilizan es Bourne Again Shell (bash), que es derivada de Bourne Shell (sh), la primera que apareció en Unix. Otras alternativas populares son ZSH y Fish. Y en Windows se usa Powershell.

Fuente: StackOverflow Shell vs Console vs Terminal

Terminal

Una terminal es el programa que ejecuta una shell, lee el input del usuario y se lo pasa a esta última para que pueda ser procesado, además de presentar el resultado.

Hace décadas, consistía en varios dispositivos físicos, y a medida que los sistemas Unix/Linux fueron mejorarado, estos se abstrayeron a software. Por lo tanto estos también se pueden llamar emuladores de terminal y pseudo-terminales.

Para dejarlo más claro, algunos ejemplos son Windows Terminal o Alacritty.

Consola

Esta es un tipo de terminal. Históricamente la consola era un monitor y un teclado conectados a un puerto dedicado para tener comunicación directa y de bajo nivel con el Sistema Operativo. Los sistemas Linux actuales ofrecen consolas virtuales, a las que puedes acceder con Alt + F1 o Alt + Ctrl + F1, siendo cada tecla de función una consola distinta.

Prompt

Un command prompt es un campo de entrada para comandos del usuario, y en bash suele tener este aspecto (aunque es personalizable):

<username>@<hostname>:~$

El ~ representa el directorio actual, así que si haces cd blog/content/linux/ por ejemplo, cambiará a:

<username>@<hostname>:~/blog/content/linux$

Y en caso de ser root:

root@<hostname>:~/blog/content/linux#
Anterior: Cuando Linux crashea Volver a Linux Siguiente: Instalación