25 de Agosto de 2023 - ed. hace: 11 meses, 3 semanas
Explicación sencilla para iniciar en el mundo de la terminal. Por lo general, la forma mas rápida, eficiente y universal de usar una computadora.
Video The 8-Bit Guy sobre terminales y dumb terminals (en inglés).
$PATH
, y otras que controlan el comportamiento
y la apariencia de la shell.Existen diferentes tipos de shells en Linux, y cada una de ellas posee particularidades que la hacen altamente eficientes sobre otra shell, para un tipo de uso especifico.
Desarrollada en AT&T Bell Labs por Steve Bourne, es considerada
como la primera shell usada por UNIX. Es popular por ser de naturaleza compacta
y rapidez.
Su mayor desventaja es no tener incomporada funcionalidad para manejar lógica y
operaciones aritméticas, y no puede volver a llamar comandos previamente
ejecutados. Además de un uso interactivo poco amigable.
Conocida como Bash shell, desarrollada inicialmente por Brian Fox,
para el GNU Project, esta fue diseñada para ser compatible con sh.
Permite relizar llamados a comandos previamente ejecutados y editarlos utilizando
las flechas del teclado. Incluye historial y alias, además de la
posibilidad de añadir funcionalidad como Command completion, entre otras.
Fue creada en la Universadad of California por Bill Joy. Incluye
características útiles de lenguages de programación como soporte para
operaciones aritméticas y syntaxis similar a lenguaje C.
Incorpora historial y alias.
Desarrollada en AT&T Bell Labs por David Korn, con el fin de mejorar sh. Además de soportar todo lo que sh soporta. Incluye soporte para operaciones aritméticas, y características de interactividad similaes a C shell. Ofrece manipulación de Strings, Arrays y funciones, similar al lenguaje C. Puede correr scripts creados para C shell, y es más rápida que la mayoría de otras shells, inclusive que esta última.
Creada en Princeton University por Paul Falstad. Es una extensión de sh, con muchas mejoras y opciones de personalización. Posee características como: Plugins & Themes, indice de funciones incluidas, autocompletado de comando, entre muchas otras.
Existen aún mas shells, sin embargo, estas son las mas "importantes" o típicas, de todas formas vale la pena al menos nombrar las siguientes:
Shell | Binary | Root prompt | User prompt |
---|---|---|---|
Bourne shell | sh |
# |
$ |
GNU Bourne-Again shell | bash |
# |
$ |
C shell | csh |
# |
% |
Korn shell | ksh |
# |
$ |
Z Shell | zsh |
# |
% |
Debian Alquimist shell | dash |
# |
$ |
Friendly Interactive shell | fish |
# |
> |
Bash es una unix-shell y un interprete de lenguaje de comandos que, ejecuta
comandos leidos desde la entrada estandar o un archivo. Bash además incorpora
características útiles de otras shells como Korn, y C shells (ksh y csh).
gnu bash.
Es la shell por defecto en la mayoría de distribuciones Linux, como se
menciona arriba es un procesador de comandos que corre típicamente en un
emulador de terminal, y puede recibir comandos desde un archivo llamado
shell script. Soporta globbing (comodines para match), pipping,
here-docs (redirection), substitución de comandos, variables y
estructuras de control para condiciones de testing e iteración.
Además de brace expansion, y 'tab completion' (programable),
debugging básico, y manejo de señales (ejm. error, término, kill).
Bash es compatible con POSIX, con algunas extensiones.
Usuario
⏐ Máquina
⏐ ⏐ Directorio actual
⏐ ⏐ ⏐ Simbolo de usuario común
⏐ ⏐ ⏐ ⏐
user@host: ~ $
root@host: ~ #
⏐ ⏐ ⏐ ⏐
⏐ ⏐ ⏐ Simbolo de usuario root
⏐ ⏐ Directorio actual
⏐ Máquina
Usuario
Intro Bash parte 2