Что такое терминал
Скорее всего, ты пользовался компьютером всю жизнь и ни разу не открывал «терминал». Ты двигал мышкой, нажимал на иконки, перетаскивал файлы в корзину. Это нормально. Так устроено большинство программ - чтобы было понятно с первого взгляда.
Но есть второй способ общаться с компьютером - текстом. Ты печатаешь команду словами, нажимаешь Enter, и компьютер её выполняет. Окно, в котором это происходит, и называется терминалом.
В этом уроке мы не будем ничего печатать. Цель проще: понять, что такое терминал, чем он отличается от привычного «окна с кнопками», и почему почти все инженеры - программисты, аналитики данных, системные администраторы - большую часть дня проводят именно в нём.
Два способа сказать компьютеру, что делать
Представь, что ты пришёл в кофейню. Есть два способа сделать заказ.
Первый способ - голосом, у стойки. Ты смотришь на меню над кассой, видишь картинки, тыкаешь пальцем: «вот этот, средний, с собой». Бариста кивает. Удобно, не надо ничего знать заранее - всё нарисовано перед тобой. Но если ты хочешь что-то нестандартное («два эспрессо, один без кофеина, оба в одну чашку, температура ровно 60 градусов»), объяснять голосом долго и легко запутаться.
Второй способ - точная записка. Ты заранее пишешь на бумажке: капучино, 350мл, овсяное молоко, без сахара, экстра-шот. Отдаёшь - и получаешь ровно то, что заказал. Записку можно скопировать и отдать завтра снова. Её можно отправить другу, чтобы он заказал то же самое. Но чтобы написать такую записку, надо знать, какие слова понимает кофейня.
Компьютер работает точно так же. Есть два способа им управлять.
GUI - то, к чему ты привык
GUI расшифровывается как Graphical User Interface - «графический интерфейс пользователя». Это всё, что ты видишь на экране: иконки приложений, окна, кнопки «ОК» и «Отмена», корзина, рабочий стол с обоями.
Ты управляешь этим мышкой и пальцами. Хочешь удалить файл - тащишь его в корзину. Хочешь создать папку - правый клик, «Новая папка». Хочешь открыть фотографию - двойной клик.
GUI прекрасен тем, что тебе не нужно ничего знать заранее. Всё нарисовано. Видишь иконку корзины - понятно, куда тащить мусор. Это как меню с картинками в кофейне: ткнул и получил.
GUI - это не «детский» или «ненастоящий» способ. Профессионалы тоже пользуются мышкой каждый день. Просто для некоторых задач текстовые команды оказываются быстрее и надёжнее. Это два инструмента, а не «правильный и неправильный».
CLI - управление текстом
CLI расшифровывается как Command Line Interface - «интерфейс командной строки». Вместо кнопок ты печатаешь команды словами.
Хочешь создать папку? Вместо правого клика ты печатаешь команду со словом, которое означает «создай папку», и название этой папки. Хочешь удалить файл? Печатаешь команду «удали» и имя файла. Компьютер выполняет ровно то, что ты написал.
Терминал - это окно, в котором живёт командная строка. Внешне это выглядит скромно: тёмное (или светлое) окно с текстом, мигающий курсор и приглашение в начале строки - обычно символ $. Никаких картинок и кнопок. Только текст, который пишешь ты, и текст, которым отвечает компьютер.
Last login: Thu May 29 09:14:22
user@computer:~$ _
Этот мигающий _ после $ означает: «компьютер ждёт твою команду». Символ $ называется приглашением (по-английски prompt) - компьютер как бы говорит: «приглашаю, печатай». Подробно разберём приглашение в четвёртом уроке этого модуля.
Почему инженеры выбирают текст
Если GUI такой удобный, зачем вообще учиться печатать команды? Вот четыре настоящие причины.
Точность. Команда делает ровно то, что в ней написано. Ни больше ни меньше. Мышкой можно промахнуться и кликнуть на соседний файл. Текст не промахивается.
Повторяемость. Записку из кофейни можно отдать сто раз и сто раз получить тот же кофе. Команду можно выполнить сто раз - результат будет одинаковым. Попробуй мышкой повторить одно и то же действие тысячу раз без единой ошибки - невозможно.
Скорость. Когда привыкнешь, печатать команду быстрее, чем искать нужную кнопку. Многие инструменты для инженеров вообще не имеют кнопок - только команды.
Автоматизация. И вот главное. Команды можно записать в обычный текстовый файл - он называется скрипт. Запускаешь файл, и компьютер сам, по очереди, выполняет все команды: создаёт сотни папок, обрабатывает тысячи файлов, отправляет отчёты. Ты один раз написал записку - а компьютер выполняет её каждую ночь, пока ты спишь. Мышкой так не получится: за тебя её никто двигать не будет.
Не пытайся запомнить команды наизусть с первого раза. Никто не помнит их все. Инженеры постоянно подсматривают, гуглят и копируют команды. Важно понимать, что вообще происходит и где искать - а сами слова приходят с практикой.
Терминал есть на любом компьютере
Хорошая новость: терминал не нужно покупать или скачивать. Он уже встроен в твой компьютер - на любой системе.
- На macOS (компьютеры Apple) есть программа Terminal - она стоит там с завода.
- На Linux терминал - это вообще главный инструмент, он всегда под рукой.
- На Windows есть несколько вариантов, и для обучения мы поставим специальную «Linux внутри Windows» - она называется WSL2. Звучит сложно, но в следующем уроке разберём по шагам.
Команды, которые мы будем учить (pwd, ls, cd и другие), работают одинаково на macOS, Linux и в WSL2 на Windows. Ты учишь один набор слов - и говоришь на нём с любым из этих компьютеров. Именно поэтому инженеры так любят командную строку: один язык на все системы.
Попробуй сам
Печатать пока не нужно - просто найди терминал глазами, чтобы он перестал быть загадкой.
- Если у тебя Mac: открой Launchpad (значок ракеты или жест с тремя пальцами), напечатай в поиске слово
Terminal. Увидишь иконку - это он. Можешь открыть и просто посмотреть на тёмное окно с приглашением$. Закрой обратно. - Если у тебя Windows: открой меню «Пуск» и напечатай
Terminal- скорее всего, найдётся «Терминал Windows». Открой, посмотри. В следующем уроке мы настроим внутри него настоящий Linux. - Если у тебя Linux: нажми сочетание клавиш или найди в меню приложение со словом Terminal. Скорее всего, ты уже знаешь, где оно.
Ничего не сломается от того, что ты просто откроешь окно и посмотришь. Закрыть терминал можно как любое окно - крестиком или командой exit (её разберём позже).