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

1. Что такое терминал и зачем он нужен

Терминал — это текстовый интерфейс для общения с операционной системой. Пока графический интерфейс (GUI) скрывает от тебя, что происходит «под капотом», терминал даёт прямой доступ к системе через команды. Это как разница между автоматической и механической коробкой передач: автомат удобен, но механика даёт полный контроль.

В Linux и macOS терминал — это не просто инструмент разработчика, это основной способ управления системой. Администрирование серверов, автоматизация задач, работа с файлами и процессами — всё это делается через терминал.

  • Скорость. Команда в терминале выполняется мгновенно. Несколько кликов в GUI превращаются в одну строку.
  • Автоматизация. Скрипты позволяют автоматизировать повторяющиеся задачи.
  • Серверы. На большинстве серверов нет GUI. Хочешь деплоить — учи терминал.
  • Инструменты. Git, npm, docker, python — всё это работает через терминал.
  • Мощь. Комбинация команд позволяет делать то, что невозможно через GUI.

Когда ты открываешь терминал, ты работаешь с оболочкой (shell) — программой, которая принимает твои команды и передаёт их ядру системы.

Самая старая и базовая оболочка. Присутствует в каждой Unix-системе. Минимальный функционал, максимальная совместимость. Используется в скриптах, которые должны работать везде.

#!/bin/sh
echo "Привет от sh!"

Стандарт для Linux. Расширенная версия sh с кучей улучшений: история команд, автодополнение Tab, массивы, арифметика. Большинство скриптов пишется именно на bash.

#!/bin/bash
NAME="Яша"
echo "Привет, $NAME!"

Стандарт для macOS с Catalina. Всё то же что bash, плюс:

  • Улучшенное автодополнение
  • Глобальные алиасы
  • Плагины (через Oh My Zsh)
  • Темы и кастомизация
#!/bin/zsh
# zsh поддерживает расширенные glob-паттерны
ls **/*.js # найдёт все .js файлы рекурсивно
Окно терминала
echo $SHELL # /bin/bash или /bin/zsh
echo $0 # имя текущего процесса оболочки
cat /etc/shells # список всех доступных оболочек
Окно терминала
chsh -s /bin/zsh # сменить оболочку на zsh
chsh -s /bin/bash # вернуться на bash

После смены нужно перезайти в систему.

  • Ubuntu/Debian: Ctrl+Alt+T
  • macOS: Cmd+Space → “Terminal”
  • Через файловый менеджер: Правая кнопка → “Open Terminal”
user@hostname:~$ команда аргумент1 аргумент2
│ │ │ │
│ │ │ └─ Что выполняем
│ │ └──── Текущая директория (~ = домашняя)
│ └─────────────── Имя компьютера
└──────────────────── Текущий пользователь

Знак $ означает обычного пользователя. Знак # означает суперпользователя (root).

  1. Открой терминал и определи, какая у тебя оболочка: echo $SHELL
  2. Посмотри список всех оболочек: cat /etc/shells
  3. Попробуй выполнить echo "Привет, мир!"
  4. Посмотри историю команд: history

Терминал поначалу пугает, но через неделю практики ты начнёшь думать на его языке. Погнали!