Перейти к содержимому

1. Терминал macOS: Начало

macOS основан на BSD Unix, поэтому большинство Linux-команд работают здесь без изменений. Но есть важные отличия и macOS-специфичные инструменты, которые делают разработку на Mac особенно приятной.

Terminal.app — встроенный эмулятор терминала macOS. Найти его можно:

  • Finder → Applications → Utilities → Terminal
  • Spotlight: Cmd+Space → “Terminal”
  • Launchpad → Other → Terminal

Горячие клавиши Terminal.app:

Cmd+T → новая вкладка
Cmd+N → новое окно
Cmd+W → закрыть вкладку
Cmd+K → очистить экран
Cmd+D → разделить экран (вертикально)
Cmd+Shift+D → разделить горизонтально
Cmd++/- → увеличить/уменьшить шрифт
Cmd+F → поиск

iTerm2 — самый популярный терминал для macOS среди разработчиков. Бесплатный и значительно мощнее стандартного.

Преимущества iTerm2:

  • Разделение экрана (panes)
  • Поиск с подсветкой
  • Профили с разными настройками
  • Shell integration (отслеживание директории, истории)
  • Tmux integration
  • Автоматическое профилирование
  • Hotkey window (терминал по кнопке)
  • AI-интеграция
Окно терминала
# Установить через Homebrew
brew install --cask iterm2

С macOS Catalina (2019) zsh стал оболочкой по умолчанию вместо bash. zsh обратно совместим с bash, но имеет дополнительные возможности.

Окно терминала
# Проверить текущую оболочку
echo $SHELL # /bin/zsh
# Версия zsh
zsh --version

Преимущества zsh над bash:

  • Улучшенное автодополнение
  • Глобальные алиасы (alias -g)
  • Расширенные glob-паттерны (**/*.js)
  • Общая история между сессиями
  • Spell correction
  • Плагины через Oh My Zsh

Oh My Zsh — фреймворк для управления конфигурацией zsh. Добавляет сотни плагинов и тем.

Окно терминала
# Установить Oh My Zsh
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

Конфигурация в ~/.zshrc:

Окно терминала
# Выбор темы
ZSH_THEME="agnoster" # или "robbyrussell", "powerlevel10k"
# Плагины
plugins=(
git
node
npm
docker
kubectl
zsh-autosuggestions
zsh-syntax-highlighting
)

Популярные плагины:

Окно терминала
# zsh-autosuggestions — предлагает команды из истории
brew install zsh-autosuggestions
# zsh-syntax-highlighting — подсвечивает команды
brew install zsh-syntax-highlighting

Homebrew — это то, чем apt является для Debian/Ubuntu. Без него macOS-разработка неполноценна.

Окно терминала
# Установить Homebrew
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# Базовые команды
brew install git # установить пакет
brew install --cask firefox # установить приложение (GUI)
brew update # обновить базу данных
brew upgrade # обновить все пакеты
brew search node # поиск пакета
brew list # установленные пакеты
brew uninstall wget # удалить пакет
brew doctor # диагностика проблем

Homebrew будет детально разобран в следующем уроке.

Файл ~/.zshrc читается при каждом запуске zsh:

Окно терминала
# Открыть для редактирования
nano ~/.zshrc
vim ~/.zshrc
code ~/.zshrc # в VS Code
# Применить изменения
source ~/.zshrc

Типичное содержимое:

Окно терминала
# Путь к Oh My Zsh
export ZSH="$HOME/.oh-my-zsh"
ZSH_THEME="robbyrussell"
plugins=(git node npm docker)
source $ZSH/oh-my-zsh.sh
# Homebrew
eval "$(/opt/homebrew/bin/brew shellenv)" # Apple Silicon
# eval "$(/usr/local/bin/brew shellenv)" # Intel Mac
# PATH
export PATH="$HOME/.local/bin:$PATH"
# Алиасы
alias ll="ls -la"
alias gs="git status"
alias dc="docker-compose"
# NVM
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"
Окно терминала
# 1. Проверь свою оболочку
echo $SHELL
zsh --version
# 2. Попробуй автодополнение Tab (дважды Tab для вариантов)
ls /Ap<Tab> # → /Applications/
# 3. Посмотри историю
history | tail -20
# 4. Если ещё не установлен Homebrew — установи
# /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# 5. Базовая проверка
brew --version
which brew
# 6. Открой ~/.zshrc и добавь пару алиасов
echo 'alias ll="ls -la"' >> ~/.zshrc
source ~/.zshrc
ll

macOS — отличная платформа для разработки. Unix-основа плюс красивый GUI — это мощная комбинация!