TOP 9 Shells de Linux
18:16, 21.10.2026
Las distintas distribuciones de Linux incluyen diversos shells predeterminados, pero los usuarios pueden instalar cualquier shell específico en su sistema operativo si es necesario.
Si quieres cambiar tu shell predeterminado, te recomendamos que leas nuestro artículo, ya que te ofrecemos una guía completa de los shells más populares, lo que te permitirá tener una visión general más amplia de todas las variantes posibles.
La importancia del shell de Linux
El shell es un intérprete de línea de comandos necesario para transmitir comandos al sistema operativo. Esta herramienta constituye la interfaz interactiva del sistema operativo y la capa más externa del núcleo. Con su ayuda, los programas y los usuarios pueden enviar señales y abrir utilidades de bajo nivel.
El terminal permite interactuar con las utilidades. Si se ejecuta algún comando en el terminal, el shell se encarga de buscarlo, evaluarlo y ejecutarlo si lo encuentra.
1. Shell de Bourne
El shell de Bourne se considera uno de los primeros shells de Unix, lanzado en 1979. Se denomina «sh» y suele encontrarse en /bin/sh. Para acceder al indicador de root se utiliza #, y para el indicador de usuario, $.
Esta variante de shell ganó popularidad rápidamente debido a su velocidad y brevedad, pero carece de ciertas características, tales como:
- Historial de comandos.
- Expansión aritmética y lógica.
- Autocompletado y otras funciones.
2. C Shell
El C Shell se lanzó a finales de la década de 1970, y el objetivo principal de su creación fue mejorar el uso interactivo e imitar el lenguaje C. Además, su lanzamiento tenía como objetivo crear una coherencia estilística en todo el sistema.
El shell se encuentra en /bin/csh y, con la ayuda del símbolo #, se puede acceder al indicador de comando del usuario root, mientras que con % se accede al de usuario normal.
Estas son las características más comunes:
- Gramática de expresiones integrada.
- Historial del comando anterior.
- Disponibilidad del directorio de inicio relativo.
- Alias definidos por el usuario para programas.
Entre los inconvenientes más comunes, podemos destacar:
- No es totalmente recursivo.
- Inconsistencias sintácticas.
- No admite identificadores de archivo de entrada y salida estándar.
3. TENEX C Shell
TCSH es una de las llamadas extensiones del shell C que apareció a principios de la década de 1980. Este shell concreto es compatible con csh, y hay algunos conceptos y características que se han tomado del sistema operativo TENEX.
Para acceder al indicador de root, utilice nombre_host:directorio#, y, para el indicador de usuario, debe utilizar nombre_host:directorio>. Este shell se utiliza como variante predeterminada en FreeBSD y en las primeras versiones de Mac OS.
A continuación se enumeran algunas características comunes del shell:
- Control de tareas.
- Disponibilidad de un historial de comandos más avanzado.
- Coincidencia con comodines.
- Autocompletado programable.
Dado que este shell es una extensión del shell C, presenta muchos de los mismos inconvenientes, por lo que no vamos a volver a mencionarlos.
4. KornShell
KornShell se creó a principios de la década de 1980 y se considera un lenguaje basado en el shell de Bourne. El shell suele encontrarse en bin/ksh, y todos los indicadores de comando se activan igual que en el shell de Bourne con los símbolos # y $.
Este shell está orientado a las funciones de programación y a los comandos interactivos, y presenta algunas similitudes tanto con el shell de Bourne como con el de C.
A continuación se enumeran varias características de este shell:
- Programación orientada a objetos.
- Compatibilidad con Bourne.
- Disponibilidad de aritmética de coma flotante y funciones matemáticas.
5. Shell Almquist de Debian
El shell Almquist de Debian, o Dash, se creó a finales de la década de los 90 y se considera un shell de Unix. Este shell es la variante predeterminada en los sistemas Debian y Ubuntu. La ruta del ejecutable puede estar en bin/sh o en /bin/dash. Los mensajes de inicio de sesión de root y predeterminados son idénticos a los de Bourne.
Estas son algunas de sus características comunes:
- Requiere un mínimo de CPU, RAM y espacio en disco en comparación con otras variantes.
- Velocidad de ejecución realmente alta en comparación con bash y algunas otras alternativas.
El único gran inconveniente que puede estar relacionado con este shell es la incompatibilidad con bash. Esto significa que los scripts de bash deben modificarse para que funcionen correctamente.
6. Bourne Again Shell
Bash o Bourne Again Shell se lanzó en 1989 y se considera un shell de Unix. Esta variante es la opción predeterminada en algunas versiones antiguas de macOS y en muchas distribuciones de Linux. El shell se encuentra en bin/bash, y los mensajes de la línea de comandos tanto para el usuario normal como para el usuario root son los mismos que en Bourne.
Algunas de las características más comunes relacionadas específicamente con el shell son:
- Disponibilidad de la autocompletación de comandos.
- Historial de comandos.
- Expansión de llaves.
- Compatibilidad con Heredoc.
- Gestión de señales y depuración básica.
7. Z Shell
Z Shell se lanzó a principios de la década de 1990 como una extensión de Bourne. Esta variante, lista para usar, se encuentra en /bin/zsh. El indicador de comando para el usuario root es hostname#, y para el usuario normal, user@hostname %location. Este shell es la opción predeterminada en Mac OS y Kali Linux.
Estas son algunas de las características del shell:
- Extensibilidad disponible a través de complementos.
- Historial compartido entre todas las sesiones en ejecución.
- Diferentes modos de compatibilidad.
- Autocompletado del nombre del comando y corrección ortográfica.
8. Friendly Interactive Shell
Fish (Friendly Interactive Shell) se lanzó a mediados de la década de 2000 y se considera la variante más fácil de usar, con una gran variedad de características. Suele encontrarse en /usr/bin/fish; el indicador de root es root@nombre_del_host ubicación#, y el indicador de usuario es usuario@nombre_del_host ubicación>.
Estas son algunas de las características comunes del shell:
- Disponibilidad del historial de comandos con opciones de búsqueda.
- Autocompletado avanzado con tabulador en función del historial actual del directorio.
- Mensajes de error descriptivos.
9. Elvish
Elvish se creó a mediados de la década de 2010 con la intención de ofrecer mayor coherencia y claridad. Normalmente, el shell se encuentra en /usr/bin/elvish.
Estas son las características más comunes del shell:
- Un editor interactivo fantástico con navegación por el historial y resaltado de sintaxis.
- Autocompletado inteligente mediante tabulador.
- Compatibilidad con datos estructurados.
En resumen
Ahora, tras repasar nuestros mejores shells de Linux, tienes una visión general de las opciones más populares y sus características básicas. Existen muchos otros shells para casos de uso específicos, y cada uno de ellos aborda diversos problemas.