En el corazón de todo sistema GNU/Linux hay un componente vital que actúa como intermediario entre el usuario y el sistema operativo: la shell. Aunque muchas personas usan entornos gráficos, las shells siguen siendo herramientas fundamentales para administración, automatización y desarrollo.
Este artículo ofrece una explicación clara de qué es una shell, junto a un repaso histórico de las shells más populares y también las menos conocidas, su año de aparición, características, y en qué distribuciones son más comunes hoy en día.

🧠 ¿Qué es una shell?
Una shell es un programa que interpreta comandos. Actúa como interfaz entre el usuario y el núcleo del sistema operativo. Hay dos tipos principales:
- Shells interactivas: el usuario escribe comandos manualmente (como Bash).
- Shells de scripting: se usan para escribir scripts que automatizan tareas (como sh, zsh o fish).
🔝 Las shells más populares
1. Bash (Bourne Again SHell)
- 📅 Año de lanzamiento: 1989
- 🧑💻 Creador: Brian Fox (para el Proyecto GNU)
- 📍 Distros comunes: Ubuntu, Debian, Arch, Fedora, RHEL
- 📝 Características:
- Heredera de la Bourne shell (sh)
- Gran compatibilidad con scripts tradicionales
- Amplio soporte de extensiones
- La más usada en sistemas Linux
2. Zsh (Z Shell)
- 📅 Año de lanzamiento: 1990
- 🧑💻 Creador: Paul Falstad
- 📍 Distros comunes: macOS (desde Catalina), Arch, Kali, Manjaro
- 📝 Características:
- Autocompletado avanzado
- Corrección de comandos
- Soporte para temas y plugins (oh-my-zsh)
- Mezcla funciones de bash, ksh y tcsh
3. Fish (Friendly Interactive SHell)
- 📅 Año de lanzamiento: 2005
- 🧑💻 Creador: Axel Liljencrantz
- 📍 Distros comunes: Arch, Fedora, openSUSE (opcional)
- 📝 Características:
- Fácil de usar sin configuración
- Autocompletado inteligente
- Coloración de sintaxis
- No compatible con sintaxis POSIX (no para scripts portables)
🧭 Otras shells populares
4. sh (Bourne Shell)
- 📅 Año de lanzamiento: 1977
- 🧑💻 Creador: Stephen Bourne (AT&T UNIX)
- 📍 Distros comunes: base de scripting POSIX, aún usada como
/bin/sh
- 📝 Características:
- Primer estándar en Unix
- Sintaxis simple y funcional
- Base de todas las shells modernas
5. Dash (Debian Almquist Shell)
- 📅 Año de lanzamiento: 1997 (como parte de Debian)
- 📍 Distros comunes: Debian, Ubuntu (como
/bin/sh
) - 📝 Características:
- Muy ligera y rápida
- Usada para iniciar scripts del sistema
- No interactiva (ideal para scripts de arranque)
6. Ksh (KornShell)
- 📅 Año de lanzamiento: 1983
- 🧑💻 Creador: David Korn (Bell Labs)
- 📍 Distros comunes: AIX, Solaris, algunas distribuciones empresariales
- 📝 Características:
- Combina características de sh y csh
- Compatible con scripts POSIX
- Aún se usa en entornos UNIX tradicionales
7. Tcsh (TENEX C Shell)
- 📅 Año de lanzamiento: 1981
- 📍 Distros comunes: FreeBSD, NetBSD, algunas distros Linux (opcional)
- 📝 Características:
- Extiende la C Shell (csh)
- Sintaxis parecida a C
- Buena historia de comandos y autocompletado
💡 Shells menos conocidas (pero interesantes)
8. Elvish
- 📅 Año de lanzamiento: 2016
- 📍 Distros comunes: Arch (AUR), compilar manualmente
- 📝 Características:
- Lenguaje de shell moderno
- Soporte estructurado de datos como listas y mapas
- Interfaz elegante y funcional
9. Xonsh
- 📅 Año de lanzamiento: 2015
- 📍 Distros comunes: multiplataforma (incluye Windows)
- 📝 Características:
- Basada en Python
- Mezcla comandos de shell y código Python
- Ideal para programadores
10. Oil Shell (osh)
- 📅 Año de lanzamiento: 2016 (aún en desarrollo activo)
- 📍 Distros comunes: instalación manual
- 📝 Características:
- Reimplementación moderna de Bash
- Mejora seguridad, velocidad y depuración
- Compatible con scripts antiguos y futuros
11. Nushell
- 📅 Año de lanzamiento: 2019
- 📍 Distros comunes: Arch, Fedora, compilación directa
- 📝 Características:
- Shell orientada a datos
- Salidas estructuradas en lugar de texto plano
- Sintaxis moderna, con influencias de Rust y Haskell
🐧 ¿Qué shell usa cada distro por defecto?
Distribución | Shell por defecto |
---|---|
Ubuntu | Dash (sh), Bash (login) |
Debian | Dash (sh), Bash |
Arch Linux | Bash |
Manjaro | Zsh (desde 2020) |
Fedora | Bash |
macOS | Zsh (desde 2019) |
Alpine Linux | Ash |
Void Linux | Dash |
Kali Linux | Zsh |
FreeBSD | Tcsh |
OpenBSD | Ksh |
🧠 ¿Cuál debería usar un usuario promedio?
Depende del objetivo:
- Bash: ideal si eres principiante o haces scripting tradicional.
- Zsh: para usuarios interactivos que quieren personalización.
- Fish: si buscas facilidad de uso y una experiencia moderna.
- Dash: para scripting ultra rápido (no interactivo).
- Xonsh/Nushell: si eres programador y te gusta experimentar.
🎯 Conclusión
Las shells son mucho más que un terminal con texto. Son lenguajes de programación, entornos interactivos y herramientas de poder para usuarios de todos los niveles. Conocer su historia y sus diferencias no solo es interesante: te permite elegir mejor tu entorno de trabajo, aprender más profundamente sobre tu sistema y personalizar tu experiencia Linux.