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

Что такое shell

Shell — программа, которая читает ваши команды и выполняет их. Вы пишете текст, нажимаете Enter, shell запускает нужную программу и показывает результат.

Все shell в Linux и macOS похожи на первый shell Unix — sh.

  • bash — shell по умолчанию в Linux, WSL и Git Bash. Его же вы встретите на серверах.
  • zsh — shell по умолчанию в macOS. Он умеет всё, что bash, и немного больше.

Для этого курса разницы нет. Команды одинаковые.

Когда shell ждёт команду, он показывает приглашение (prompt). Например:

maria@laptop:~/cli-practice$
  • maria — пользователь, laptop — имя компьютера.
  • ~/cli-practice — папка, в которой вы сейчас.
  • $ — вы обычный пользователь. В zsh на macOS вместо него %.
  • # — вы root, администратор. Root может удалить что угодно. Будьте осторожны.

В уроках мы пишем только команду, без приглашения. Копируйте то, что после $.

Окно терминала
ls -l data
  • ls — команда, то есть программа.
  • -l — опция (флаг). Меняет поведение команды. Опции начинаются с -.
  • data — аргумент. С чем работать.

Несколько коротких опций можно склеить: ls -l -a и ls -la — одно и то же.

Окно терминала
echo "Привет, терминал" # напечатать текст
whoami # кто я
date # текущие дата и время
clear # очистить экран (или Ctrl + L)
history # команды, которые вы вводили

Всё после # — комментарий. Shell его не выполняет. Комментарии можно копировать вместе с командой.

КлавишиЧто делают
TabДописывает имя файла или команды. Два раза Tab — показать варианты
↑ / ↓Предыдущая и следующая команда из истории
Ctrl + CОстановить команду, которая зависла или работает слишком долго
Ctrl + A / Ctrl + EВ начало / в конец строки
Ctrl + RПоиск по истории команд

Tab — главная клавиша. Никто не печатает длинные пути целиком.

Решайте сами, без AI. Сначала выполните команду, потом сверьтесь с проверкой, и только потом открывайте решение.

Узнайте, какой shell у вас запущен.

Проверка: /bin/zsh на macOS, /usr/bin/bash в Git Bash, /bin/bash в WSL и Linux.

Решение
Окно терминала
echo $SHELL

Узнайте имя своего пользователя и текущую дату одной строкой: команды можно разделить точкой с запятой ;.

Проверка: две строки. В первой — ваше имя пользователя, во второй — дата и время.

Решение
Окно терминала
whoami; date

Напишите ech и нажмите Tab. Что произошло? Потом найдите в истории команду whoami через Ctrl + R.

Проверка: Tab дописал echo. Ctrl + R, потом who — в строке появилась whoami. Enter выполнит её.

Решение

Просто нажимайте клавиши. Выйти из поиска без запуска — Ctrl + C.

Запустите sleep 100 — эта команда ждёт 100 секунд. Не ждите, остановите её.

Проверка: приглашение вернулось сразу, а не через 100 секунд.

Решение
Окно терминала
sleep 100

Потом нажмите Ctrl + C.

Дальше: Навигация.