bash y zsh: shells tipo Linux
bash vs zsh
Sección titulada «bash vs zsh»Ambos son shells — el programa que interpreta lo que se tipea en la terminal. zsh es más nuevo, con mejor autocompletado y más opciones de personalización (frameworks como Oh My Zsh son solo para zsh); bash es el más extendido históricamente y el default de la mayoría de distros Linux. macOS usa zsh como shell default desde Catalina (2019); antes usaba bash.
Ver el shell actual:
echo $SHELLArchivos de configuración
Sección titulada «Archivos de configuración»Cada shell corre distintos archivos según cómo se abrió la sesión:
| Archivo | Shell | Cuándo se ejecuta |
|---|---|---|
~/.bashrc | bash | Cada terminal nueva interactiva (no de login) |
~/.bash_profile | bash | Solo en shells de “login” (ej. al conectarse por SSH) |
~/.zshrc | zsh | Cada terminal nueva interactiva |
~/.zprofile | zsh | Solo en shells de “login” |
En la práctica, la mayoría de terminales gráficas (VS Code, iTerm, GNOME Terminal) abren shells interactivos no-login, así que .bashrc/.zshrc es donde va casi todo: alias, PATH, variables de entorno, prompts. .bash_profile/.zprofile suele limitarse a cargar el otro archivo:
[ -f ~/.bashrc ] && source ~/.bashrcGestores de paquetes del sistema por distro
Sección titulada «Gestores de paquetes del sistema por distro»| Distro | Gestor | Instalar | Actualizar índice | Actualizar paquetes | Quitar |
|---|---|---|---|---|---|
| Debian / Ubuntu | apt | sudo apt install <paquete> | sudo apt update | sudo apt upgrade | sudo apt remove <paquete> |
| Fedora / RHEL | dnf | sudo dnf install <paquete> | (implícito en install) | sudo dnf upgrade | sudo dnf remove <paquete> |
| Arch | pacman | sudo pacman -S <paquete> | sudo pacman -Sy | sudo pacman -Syu | sudo pacman -R <paquete> |
Ejemplo típico
Sección titulada «Ejemplo típico»sudo apt update && sudo apt upgradePrimero refresca el índice de paquetes disponibles (update), después instala las versiones más nuevas de lo ya instalado (upgrade). Encadenar los dos con && es el flujo estándar en Debian/Ubuntu — correr solo upgrade sin update antes deja actualizar contra un índice viejo.
Consideraciones
Sección titulada «Consideraciones»aptdistingueupdate(refrescar índice) deupgrade(aplicar actualizaciones) — son pasos separados a propósito.dnfypacmanno separan tanto ese paso.- Cambiar de shell default (
chsh -s $(which zsh)) no borra la configuración de bash — ambos archivos pueden coexistir, cada shell lee solo los suyos. - Estos gestores administran software del sistema operativo — no reemplazan a
npm/pnpm/bunpara dependencias de un proyecto Node.