1. Что такое терминал и зачем он нужен
Что такое терминал?
Заголовок раздела «Что такое терминал?»Терминал — это текстовый интерфейс для общения с операционной системой. Пока графический интерфейс (GUI) скрывает от тебя, что происходит «под капотом», терминал даёт прямой доступ к системе через команды. Это как разница между автоматической и механической коробкой передач: автомат удобен, но механика даёт полный контроль.
В Linux и macOS терминал — это не просто инструмент разработчика, это основной способ управления системой. Администрирование серверов, автоматизация задач, работа с файлами и процессами — всё это делается через терминал.
Зачем разработчику нужен терминал?
Заголовок раздела «Зачем разработчику нужен терминал?»- Скорость. Команда в терминале выполняется мгновенно. Несколько кликов в GUI превращаются в одну строку.
- Автоматизация. Скрипты позволяют автоматизировать повторяющиеся задачи.
- Серверы. На большинстве серверов нет GUI. Хочешь деплоить — учи терминал.
- Инструменты. Git, npm, docker, python — всё это работает через терминал.
- Мощь. Комбинация команд позволяет делать то, что невозможно через GUI.
Bash, sh, zsh — в чём разница?
Заголовок раздела «Bash, sh, zsh — в чём разница?»Когда ты открываешь терминал, ты работаешь с оболочкой (shell) — программой, которая принимает твои команды и передаёт их ядру системы.
sh (Bourne Shell)
Заголовок раздела «sh (Bourne Shell)»Самая старая и базовая оболочка. Присутствует в каждой Unix-системе. Минимальный функционал, максимальная совместимость. Используется в скриптах, которые должны работать везде.
#!/bin/shecho "Привет от sh!"bash (Bourne Again Shell)
Заголовок раздела «bash (Bourne Again Shell)»Стандарт для Linux. Расширенная версия sh с кучей улучшений: история команд, автодополнение Tab, массивы, арифметика. Большинство скриптов пишется именно на bash.
#!/bin/bashNAME="Яша"echo "Привет, $NAME!"zsh (Z Shell)
Заголовок раздела «zsh (Z Shell)»Стандарт для macOS с Catalina. Всё то же что bash, плюс:
- Улучшенное автодополнение
- Глобальные алиасы
- Плагины (через Oh My Zsh)
- Темы и кастомизация
#!/bin/zsh# zsh поддерживает расширенные glob-паттерныls **/*.js # найдёт все .js файлы рекурсивноКак определить свою текущую оболочку?
Заголовок раздела «Как определить свою текущую оболочку?»echo $SHELL # /bin/bash или /bin/zshecho $0 # имя текущего процесса оболочкиcat /etc/shells # список всех доступных оболочекКак сменить оболочку?
Заголовок раздела «Как сменить оболочку?»chsh -s /bin/zsh # сменить оболочку на zshchsh -s /bin/bash # вернуться на bashПосле смены нужно перезайти в систему.
Открытие терминала
Заголовок раздела «Открытие терминала»- Ubuntu/Debian: Ctrl+Alt+T
- macOS: Cmd+Space → “Terminal”
- Через файловый менеджер: Правая кнопка → “Open Terminal”
Анатомия командной строки
Заголовок раздела «Анатомия командной строки»user@hostname:~$ команда аргумент1 аргумент2│ │ │ ││ │ │ └─ Что выполняем│ │ └──── Текущая директория (~ = домашняя)│ └─────────────── Имя компьютера└──────────────────── Текущий пользовательЗнак $ означает обычного пользователя. Знак # означает суперпользователя (root).
Практика
Заголовок раздела «Практика»- Открой терминал и определи, какая у тебя оболочка:
echo $SHELL - Посмотри список всех оболочек:
cat /etc/shells - Попробуй выполнить
echo "Привет, мир!" - Посмотри историю команд:
history
Терминал поначалу пугает, но через неделю практики ты начнёшь думать на его языке. Погнали!