Los shells son una parte importante de cualquier sesión de usuario de Linux. Se nos proporcionan varios tipos diferentes de shells en Linux para realizar tareas. Cada concha tiene propiedades únicas. Por lo tanto, hay muchos casos en los que un caparazón es mejor que el otro para requisitos específicos.
Esto hace que sea importante para nosotros conocer los diferentes tipos de shells disponibles en Linux. En este tutorial, discutiremos qué es un caparazón y por qué es importante.
Además, exploraremos diferentes tipos de shells en Linux para comprender sus funciones y propiedades.
¿Qué es un Shell y por qué los necesitamos?
Cada vez que un usuario inicia sesión en el sistema o abre una ventana de la consola, el kernel ejecuta una nueva instancia de shell. El núcleo es el corazón de cualquier sistema operativo.
Es responsable del control de la gestión y ejecución de los procesos, y de asegurar la correcta utilización de los recursos del sistema.
Un shell es un programa que actúa como una interfaz entre un usuario y el kernel. Permite a un usuario dar comandos al núcleo y recibir respuestas de él. A través de un shell, podemos ejecutar programas y utilidades en el kernel. Por lo tanto, en esencia, un shell es un programa que se utiliza para ejecutar otros programas en nuestro sistema.
Ser capaz de interactuar con el kernel hace que los shells sean una herramienta poderosa. Sin la capacidad de interactuar con el núcleo, un usuario no puede acceder a las utilidades que ofrece el sistema operativo de su máquina.
Comprendamos los principales shells que están disponibles para el entorno Linux.
Diferentes tipos de shells en Linux
Si ahora comprende qué es un kernel, qué es un shell y por qué un shell es tan importante para los sistemas Linux, pasemos a conocer los diferentes tipos de shells disponibles.
Cada uno de estos caparazones tiene propiedades que los hacen altamente eficientes para un tipo de uso específico sobre otros caparazones. Así que analicemos los diferentes tipos de shells en Linux junto con sus propiedades y características.
1. La concha de Bourne (sh)
Desarrollado en AT&T Bell Labs por Steve Bourne, el shell Bourne se considera el primer shell UNIX de la historia. Se denota como sh. Ganó popularidad debido a su naturaleza compacta y sus altas velocidades de funcionamiento.
Esto es lo que lo convirtió en el shell predeterminado para el sistema operativo Solaris. También se utiliza como shell predeterminado para todas las secuencias de comandos de administración del sistema Solaris. Empieza a leer sobre secuencias de comandos de shell aquí.
Sin embargo, el shell Bourne tiene algunos inconvenientes importantes.
- No tiene una funcionalidad integrada para manejar operaciones lógicas y aritméticas.
- Además, a diferencia de la mayoría de los diferentes tipos de shells en Linux, el shell Bourne no puede recuperar comandos usados previamente.
- También carece de funciones integrales para ofrecer un uso interactivo adecuado.
El nombre de ruta completo para el shell Bourne es /bin/sh y /sbin/sh. De forma predeterminada, utiliza el aviso # para el usuario root y $ para los usuarios no root.
2. El Bourne-Again Shell de GNU (bash)
Más conocido popularmente como shell Bash, el shell GNU Bourne-Again fue diseñado para ser compatible con el shell Bourne. Incorpora funciones útiles de diferentes tipos de shells en Linux, como el shell Korn y el shell C.
Nos permite recuperar automáticamente los comandos utilizados anteriormente y editarlos con la ayuda de las teclas de flecha, a diferencia del shell Bourne.
El nombre de ruta completo para el shell GNU Bourne-Again es /bin/bash. De forma predeterminada, utiliza el aviso bash-VersionNumber# para el usuario root y bash-VersionNumber$ para los usuarios no root.
3. El shell C (csh)
El caparazón C fue creado en la Universidad de California por Bill Joy. Se denota como csh. Fue desarrollado para incluir funciones de programación útiles, como soporte incorporado para operaciones aritméticas y una sintaxis similar al lenguaje de programación C.
Además, incorporó el historial de comandos que faltaba en diferentes tipos de shells en Linux como el shell Bourne. Otra característica destacada de un shell C son los "alias".
El nombre de ruta completo para el shell C es /bin/csh. De forma predeterminada, utiliza el indicador hostname# para el usuario root y hostname% para los usuarios no root.
4. La concha Korn (ksh)
El shell Korn fue desarrollado en AT&T Bell Labs por David Korn, para mejorar el shell Bourne. Se denota como ksh. El caparazón Korn es esencialmente un superconjunto del caparazón Bourne.
Además de admitir todo lo que sería compatible con Bourne Shell, proporciona a los usuarios nuevas funcionalidades. Permite soporte incorporado para operaciones aritméticas mientras ofrece características interactivas que son similares al shell C.
El shell Korn ejecuta scripts creados para el shell Bourne, al tiempo que ofrece una manipulación de cadenas, matrices y funciones similar al lenguaje de programación C. También admite scripts que se escribieron para el shell C. Además, es más rápido que la mayoría de los diferentes tipos de shells en Linux, incluido el shell C.
El nombre de ruta completo para el shell de Korn es /bin/ksh. De forma predeterminada, utiliza el aviso # para el usuario root y $ para los usuarios no root.
5. El caparazón Z (zsh)
Z Shell o zsh es una extensión de sh shell con toneladas de mejoras para la personalización. Si desea un shell moderno que tenga todas las características mucho más, el shell zsh es lo que está buscando.
Algunas características notables del shell z incluyen:
- Generar nombres de archivos basados en condiciones dadas
- Complementos y compatibilidad con temas
- Índice de funciones integradas
- Completar comando
- y muchos más...
Resumamos los diferentes shells en Linux que discutimos en este tutorial en la tabla a continuación.
Concha | Nombre de ruta completo | Preguntar al usuario raíz | Solicitud para usuario no root |
Concha de Bourne (sh) | /bin/sh y /sbin/sh | # | $ |
GNU Bourne-Again shell (bash) | /bin/bash | bash-Número de versión# | bash-Número de versión$ |
Construcción C (csh) | /bin/csh | # | % |
Concha Korn (ksh) | /bin/ksh | # | $ |
Concha Z (zsh) | /bin/zsh |
Conclusión
Los shells son una de las herramientas más poderosas disponibles para un usuario de Linux, si no la más poderosa. Sin shells, es prácticamente imposible que una persona utilice las características y la funcionalidad que ofrece el kernel instalado en su sistema.
Si bien cubrimos solo los tipos de shells más utilizados en Linux, hay muchos otros tipos de shells que vale la pena explorar.
Esperamos que este tutorial haya podido ayudarlo a comprender el concepto de shells, junto con las propiedades de los diferentes tipos de shells en Linux. Si tiene algún comentario, consulta o sugerencia, no dude en comunicarse con nosotros en los comentarios a continuación.