¿Pasas mucho tiempo en la terminal y sientes que Bash se te queda corto? ¿Quieres mejorar tu productividad, personalizar tu prompt y disfrutar de un ecosistema de plugins que te haga la vida más fácil?
En esta guía te cuento qué es ZSH, cómo instalarlo paso a paso en Ubuntu, sus ventajas frente a Bash, y algunos trucos para sacarle todo el jugo desde el primer día.
![]() |
Fuente: https://ohmyz.sh/ |
1. ¿Qué es ZSH y por qué deberías probarlo?
Aspecto | Detalle |
---|---|
Definición | ZSH es un intérprete de órdenes POSIX compatible (como Bash) que mezcla lo mejor de Bash, ksh y tcsh, y añade multitud de mejoras y funcionalidades. |
Objetivo | Ofrecer una experiencia de terminal mucho más productiva: alias inteligentes, globbing avanzado, completado contextual, corrección de errores tipográficos, sistema de plugins, prompts personalizables... |
¿Cuándo interesa? |
- Si trabajas mucho en terminal y quieres ahorrar tiempo. - Si necesitas scripting POSIX pero con “extras”. - Si quieres un prompt informativo (ramas de git, batería, tiempo de ejecución...). - Si buscas un ecosistema de plugins y temas mantenido por la comunidad (Oh My Zsh, zinit, antidote…). |
2. Instalación rápida de ZSH en Ubuntu (22.04 LTS o superior)
Instala ZSH:
sudo apt update
sudo apt install zsh
Instala Oh My Zsh (opcional, pero muy recomendado):
# Con cURL:
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
# O bien con wget:
sh -c "$(wget -qO- https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
Durante la instalación, te preguntará si quieres que ZSH sea tu shell por defecto. ¡Recomiendo decir que sí!
3. Primeros pasos con ZSH y Oh My Zsh
Acción | Comando o archivo | Comentario |
---|---|---|
Ver versión | zsh --version |
Comprueba la versión instalada |
Arrancar ZSH | zsh |
Útil si tu shell por defecto sigue siendo bash |
Configuración | ~/.zshrc |
Aquí defines alias, plugins, variables, temas... |
Actualizar OMZ | omz update (o upgrade_oh_my_zsh ) |
Solo si usas Oh My Zsh |
Cambiar tema |
Edita ZSH_THEME="agnoster" en ~/.zshrc Luego ejecuta: source ~/.zshrc
|
Hay más de 150 temas disponibles |
Activar plugins |
Añade por ejemplo:plugins=(git kubectl sudo history-substring-search) y recarga el archivo |
Los plugins amplían funcionalidades |
4. Consejos prácticos para sacar más partido a ZSH
- Historial compartido entre terminales
Añade a tu~/.zshrc
:setopt inc_append_history share_history
- Autocorrección de comandos (si te equivocas escribiendo):
setopt correct
- Sugerencias al estilo “fish” (zsh-autosuggestions):
# Con Oh My Zsh: git clone https://github.com/zsh-users/zsh-autosuggestions \ ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions # Luego añade zsh-autosuggestions a tu lista de plugins: plugins=(... zsh-autosuggestions)
- Búsqueda rápida en el historial con ↑/↓ + texto:
Activa el pluginhistory-substring-search
y añade:bindkey '^[[A' history-substring-search-up bindkey '^[[B' history-substring-search-down
- Globbing avanzado:
ls **/*.py # Busca todos los archivos .py recursivamente rm **/*(.D) # Borra todos los archivos ocultos (.) normales (regulares)
5. Comandos y atajos útiles en ZSH
Comando o tecla | ¿Qué hace? |
---|---|
Ctrl+R |
Búsqueda incremental en el historial (mejorada frente a Bash) |
Alt+. |
Inserta el último argumento del comando anterior |
!! / !$ |
Repite el último comando / último argumento |
dirstack |
Usa dirs , pushd , popd y con setopt autopushd el stack se llena solo |
where ls |
Muestra todas las ubicaciones del ejecutable ls en el PATH |
set -o vi o bindkey -v |
Modo edición tipo vi en la terminal |
repeat 10 echo hola |
Repite el comando 10 veces (solo en ZSH) |
6. ZSH y Bash en paralelo: cómo alternar y no liarla
Necesidad | Solución | Nota |
---|---|---|
Cambiar shell por defecto a ZSH | chsh -s $(which zsh) (te pedirá contraseña, cierra y abre sesión) |
|
Volver a Bash temporalmente | Escribe bash desde ZSH y tendrás un prompt Bash hasta que salgas con exit |
No cambia la configuración permanente |
Volver a Bash como predeterminado | chsh -s /bin/bash |
También te pedirá la contraseña |
Terminales separadas | Crea otro perfil en GNOME Terminal: pestaña “Comando” → /bin/bash o /usr/bin/zsh |
Íconos y accesos directos distintos |
Scripting | Pon un shebang explícito:#!/usr/bin/env bash o #!/usr/bin/env zsh |
Así cada script usa la shell que declares |
7. Cómo desinstalar Oh My Zsh (opcional)
Si en algún momento quieres desinstalar Oh My Zsh, puedes hacerlo fácil:
uninstall_oh_my_zsh
O manualmente:
rm -rf ~/.oh-my-zsh
rm ~/.zshrc ~/.zprofile
chsh -s /bin/bash # (si quieres volver a bash)
Recursos recomendados
- Documentación oficial:
man zsh
(índice general)
man zshoptions
,man zshall
(opciones y manuales completos) - Proyecto Oh My Zsh: https://ohmyz.sh
- Libros y artículos:
- From Bash to Z Shell (O’Reilly)
- Mastering Zsh (ebook libre)
A mí me ha venido genial, espero que a ti también
Con esta guía tienes lo esencial para instalar, personalizar y empezar a exprimir ZSH y Oh My Zsh.
Échale paciencia y aprende a sacarle todo el jugo
¿Tienes algún truco o plugin favorito? Si es así, te leo en comentarios
¿Te ha gustado el mini-manual?
Si te ha gustado házmelo saber para seguir creando este tipo de formato. Igualmente si quieres aportar algo o solicitar que se añada algo interesante, déjamelo en comentarios