Wprowadzenie
Powłoki Bash i Zsh to dwa najczęściej używane interpretery poleceń w systemach Unix/Linux. Bash, czyli Bourne Again Shell, to klasyka, od lat domyślna powłoka na większości dystrybucji. Zsh to bardziej nowoczesna alternatywa, która zyskuje ogromną popularność wśród programistów i administratorów.
W tym artykule sprawdzimy, czym się różnią, kiedy warto przejść na Zsh i jak to zrobić krok po kroku. Wszystko zrozumiale i na konkretnych przykładach.
Bash – klasyka, która wciąż trzyma poziom
Bash to powłoka, która jest z nami od 1989 roku. Jest lekka, stabilna i zgodna z POSIX. Dzięki temu idealnie sprawdza się w:
- pisaniu skryptów,
- automatyzacji zadań,
- obsłudze serwerów,
- środowiskach o ograniczonych zasobach.
Jeśli Twoja praca opiera się na tworzeniu skryptów wykonywalnych wszędzie, Bash nadal będzie najlepszym wyborem.
Zsh – nowoczesna powłoka z ogromnym potencjałem
Zsh (Z Shell) to bardziej rozbudowana powłoka, która rozwija możliwości Basha. Co oferuje dodatkowo?
- Zaawansowane autouzupełnianie z podpowiedziami,
- Automatyczna korekcja literówek,
- Kolorowe i konfigurowalne prompty,
- Obsługa wtyczek i motywów (np. przez Oh My Zsh),
- Skróty do nawigacji, zarządzania historią itd.
Zsh to idealny wybór dla tych, którzy codziennie korzystają z terminala i chcą to robić szybciej, wygodniej i efektywniej.
Porównanie funkcji: Bash vs Zsh
Funkcja | Bash | Zsh |
---|---|---|
Autouzupełnianie | Proste | Kontekstowe, podpowiedzi, podgląd wyboru |
Historia poleceń | Ctrl+R , history | Dzielenie między sesjami, substring-search |
Korekcja literówek | Brak | Automatyczne poprawki nazw i ścieżek |
Globbing | Ograniczony | Rozszerzony (np. **/*.txt , ^*.log ) |
Prompt | PS1 | $PROMPT , $RPROMPT , kolor, gałęzie Git |
Obsługa motywów i wtyczek | Minimalna | Oh My Zsh, Zinit, Prezto itd. |
Navigacja | cd , pushd , popd | Auto-cd, d do historii katalogów, ... |
Przykładowy plik konfiguracyjny .zshrc
# ~/.zshrc export ZSH="$HOME/.oh-my-zsh" ZSH_THEME="agnoster" plugins=(git docker kubectl zsh-autosuggestions zsh-syntax-highlighting) source $ZSH/oh-my-zsh.sh alias cls='clear' alias ..='cd ..' # Funkcja: mkdir + cd mkcd() { mkdir -p "$1" && cd "$1"; } # Historia poleceń HISTFILE=~/.zsh_history HISTSIZE=1000 SAVEHIST=1000 setopt share_history
Ten plik robi już bardzo dużo:
- włącza przydatne pluginy,
- ustawia minimalistyczny, nowoczesny motyw,
- dodaje skróty i funkcje,
- ustawia dzieloną historię poleceń.
Oh My Zsh – gotowy start z Zsh
To jeden z najpopularniejszych frameworków dla Zsh. Dlaczego warto go użyć?
- Prosta instalacja,
- Wbudowane wsparcie dla Gita, Dockera, Node, AWS itd.,
- Ponad 180 pluginów,
- Ponad 140 motywów,
- Aktualizacje jednym poleceniem.
Instalacja:
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
Bash do skryptów, Zsh do codziennego użytku
Podsumowując:
- Bash: jeśli tworzysz skrypty, pracujesz na serwerach i potrzebujesz maksymalnej kompatybilności.
- Zsh: jeśli zależy Ci na szybkości, ergonomii, estetyce i rozszerzeniach.
Większość użytkowników korzysta z obu – Zsh jako powłoka interaktywna, Bash jako silnik skryptów.
Jak przejść z Bash na Zsh?
- Zainstaluj Zsh:
sudo apt install zsh
- Zmień domyślną powłokę:
chsh -s $(which zsh)
- Zrestartuj terminal i gotowe.
- (Opcjonalnie) Zainstaluj Oh My Zsh jak wyżej i dostosuj
.zshrc
.
Podsumowanie
Zsh to świetny wybór na 2025 rok, jeśli chcesz pracować wygodniej, szybciej i bardziej intuicyjnie w terminalu. Nie rezygnujesz przy tym z możliwości basha, tylko uzupełniasz go o nowe narzędzia.