zsh (произносится «зэд-шелл» или «зи-шелл», от Z Shell) - это командная оболочка по умолчанию в macOS с версии Catalina (2019). До этого с macOS использовала bash - оболочку из мира GNU/Linux. Apple перешла на zsh из-за более мягкой лицензии и активного развития.
Что такое командная оболочка
Когда вы открываете Терминал.app на Mac, внутри него работает программа-оболочка. Она:
- Принимает ваши команды (ls, cd, git status)
- Запускает соответствующие утилиты с правильными аргументами
- Показывает вывод
- Управляет историей, переменными окружения, путями
zsh - одна из множества доступных оболочек. Другие популярные: bash, fish, ksh, dash. У каждой свои особенности.
Чем zsh лучше bash
1. Мощный автокомплит
- cd ~/Doc + Tab → cd ~/Documents/
- git che + Tab → git checkout
- git checkout + Tab → список веток, прямо в табуляции
2. Глобальные глобы
- **/<em>.png - все png-файлы во всех вложенных папках (рекурсивно)
- </em>.{jpg,png} - и jpg, и png
3. Подсказки команд
- При наборе показывает серым возможные команды из истории - стрелка → принимает
4. Тематизация промпта
- Богатые возможности персонализации цветов, иконок, информации
- Поддержка тем через Oh My Zsh, Powerlevel10k, Starship
5. Совместимость с bash
- Большинство bash-скриптов работают и в zsh
- Знакомый синтаксис: переменные, циклы, условия
Как проверить, что используете zsh
Откройте Терминал и выполните:
echo $0
Вывод:
- -zsh или zsh - используете zsh ✅
- -bash или bash - используете bash (старый Mac или ручная настройка)
Файл конфигурации - .zshrc
Главный конфиг zsh лежит в вашей домашней папке: ~/.zshrc (с точкой в начале, поэтому скрытый в Finder).
Этот файл выполняется каждый раз когда вы открываете новый терминал. В нём задают:
- Тему промпта
- Псевдонимы (alias) часто используемых команд
- Переменные окружения (PATH, EDITOR и т.п.)
- Подключение плагинов (autosuggestions, syntax-highlighting)
- Функции (mkcd, bak и т.п.)
Открыть для редактирования:
nano ~/.zshrc # простой редактор
open -e ~/.zshrc # в TextEdit
code ~/.zshrc # в VS Code если установлен
После правки нужно либо перезапустить терминал, либо выполнить:
source ~/.zshrc
Минимальный полезный .zshrc
# Большая история
HISTSIZE=50000
SAVEHIST=50000
setopt SHARE_HISTORY HIST_IGNORE_DUPS
# Безопасные команды
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
# Удобные алиасы
alias ll='ls -lah'
alias ..='cd ..'
# Авто-cd: просто "Documents" вместо "cd Documents"
setopt AUTO_CD
# Tab-комплит без учёта регистра
zstyle ':completion:*' matcher-list 'm:{a-zA-Z}={A-Za-z}'
Расширения zsh - Oh My Zsh
Oh My Zsh - самый популярный фреймворк для zsh. Установка одной командой:
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
Что даёт:
- 300+ плагинов (git, brew, macos, sudo, и т.д.)
- 150+ тем для промпта
- Удобная структура для своих расширений
Альтернативные темы и инструменты
- Powerlevel10k - самая популярная тема, очень быстрая, с визардом настройки
- Starship - современная кросс-шеловая тема на Rust (работает в zsh, bash, fish)
- fzf - fuzzy-поиск по истории команд (Ctrl+R)
- zsh-autosuggestions - подсказки серым по истории
- fast-syntax-highlighting - подсветка синтаксиса в реальном времени
Все эти инструменты делают терминал гораздо приятнее.
Если хотите вернуться на bash
Можно переключить оболочку:
chsh -s /bin/bash
После перезапуска терминала будет использоваться bash. Но в 2026 это уже редкий выбор - почти все Mac-разработчики на zsh.
Если zsh кажется сложным
Для начала достаточно использовать его как обычную командную строку - синтаксис почти как у bash. Постепенно подключать плагины и темы по мере роста потребностей.