zsh

Командная оболочка (shell) macOS по умолчанию с macOS Catalina (2019). Заменила старый bash. Гибче, мощнее, поддерживает кучу плагинов.

📁 Терминал и разработка 👁 137 просмотров 🔄 20 ч. назад

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. Постепенно подключать плагины и темы по мере роста потребностей.

💻 Связанные программы из каталога

📰 Связанные статьи в блоге

📖 Связанные термины

← Все термины словаря