3.1 Почему терминал — ваш лучший друг

В предыдущей главе мы познакомились с Linux и научились его запускать. В этой — разберёмся, как им управлять.

А поможет нам терминал — самый важный инструмент в Linux. Именно с его помощью вы управляете системой напрямую: запускаете программы, перемещаетесь по папкам, работаете с файлами и даже подключаетесь к другим компьютерам.

Мы узнаем о преимуществах терминала и выполним наши первые команды.

Приступим!

Ключевые вопросы параграфа

  1. Почему терминал до сих пор используется, если есть графические интерфейсы?
  2. Какие преимущества даёт работа в терминале?
  3. Что такое командная оболочка?
  4. В чём разница между локальным и удалённым терминалом?
  5. Куда приглашает командная строка?
  6. Как выполнить первую команду и получить результат?

Терминал и GUI

Большинство пользователей работают через графический интерфейс (или GUI — Graphical User Interface): окна, иконки, кнопки, мышь. Производители систем вроде Windows и macOS именно так и учат — кликать по иконкам, а не печатать.

alt-текст

Но, кроме графического интерфейса, всегда есть и другой путь — терминал. Его ещё называют командная строка или CLI (Command Line Interface). Это текстовый интерфейс, где команды вводятся вручную.

Через него можно делать то же самое, что и в GUI, и даже больше: автоматизировать рутинные действия, соединять инструменты в цепочки, управлять десятками серверов одновременно. Некоторые вещи в принципе невозможно сделать мышкой — только вводом команды.

alt-текст

В фильмах про хакеров герои зачастую используют именно терминал, на котором печатают вслепую загадочные команды, позволяющие «взломать банк» или «проникнуть в Матрицу». Это не только эффектно, но и быстро. По тем же причинам терминал до сих пор в ходу и в реальной жизни.

Изучение командной строки похоже на изучение нового языка. В Linux тысячи команд и их комбинаций, но хорошая новость — знать их наизусть не обязательно. Достаточно освоить основные, чтобы уверенно управлять системой и ориентироваться в ней.

Наконец, немного истории. Когда-то терминал был физическим устройством: экран и клавиатура, соединённые с большим компьютером или мейнфреймом. Пользователь печатал команду, мейнфрейм её обрабатывал, и спустя какое-то время результат возвращался на экран. Сегодня терминал стал обычной программой, но принцип «вводишь текст → получаешь ответ» остался тем же.

Преимущества терминала

Одно мы уже вскользь упомянули — скорость работы. А есть ещё гибкость и универсальность. Давайте рассмотрим их подробнее.

Скорость работы

В терминале достаточно одной команды для действия, которое в графическом интерфейсе потребует десяток кликов мышью.

Например, чтобы найти все текстовые файлы в каталоге (так в Linux называются «папки»), вы можете открыть поиск, выбрать фильтр по расширению и ждать результата. А в терминале достаточно использовать команду find:

1$ find . -name "*.txt"

Эта команда найдёт все текстовые файлы *.txt. в текущем каталоге . и выведет результат в следующем виде:

1./manual.txt
2./file.txt
3./document.txt

Команда find позволяет найти файл по его имени или части его имени. Расширение файла, в отличие от Windows, — это просто часть имени: система требует, чтобы оно было в команде.

Подробнее о структуре команд мы поговорим в следующем параграфе.

Гибкость

В терминале вы можете соединять инструменты между собой: результат одной команды передавать другой команде, выстраивая цепочки, которые решают именно вашу задачу.

Например, мы можем прочитать файл при помощи команды cat и тут же посчитать в нём количество строк при помощи команды wc:

1$ cat file.txt | wc -l

Результатом выполнения будет количество строчек в файле file.txt.

111

cat выводит содержимое файла, а команда wc умеет считать количество слов, символов или строк.

Символ | называется пайп, он склеивает две команды. Подробнее об этом механизме мы поговорим в последнем параграфе этой главы.

Универсальность

Терминал одинаково работает на сервере в дата-центре и на вашем личном ноутбуке.

Поэтому, если вы однажды освоили команды терминала, они будут работать везде. Вот почему системные администраторы, разработчики и инженеры по всему миру используют терминал каждый день: это быстрый, гибкий и надёжный способ управлять компьютером.

Командная оболочка

Когда мы говорим о терминале, в действительности мы говорим о командной оболочке (или shell).

Командная оболочка — это специальная программа, которая принимает команды с клавиатуры и передаёт их операционной системе для выполнения. Большинство современных вариантов Linux поставляется с командной оболочкой bash.

bash — это развитие старой оболочки sh. Название расшифровывается как Bourne Again Shell — игра слов: и «снова Bourne» (в честь автора sh Стивена Борна), и намёк на born again — «рождённый снова».

Если мы используем систему с графическим интерфейсом, нам потребуется эмулятор терминала для работы с командной оболочкой. Почти каждая операционная система поставляет такой эмулятор, обычно он называется просто Terminal в списке установленных программ.

alt-текст

Локальный и удалённый терминал

Когда мы открываем терминал на своём компьютере — мы работаем в локальном терминале. Все команды выполняются именно на вашей машине: вы перемещаетесь по локальным папкам, запускаете установленные программы, просматриваете собственные файлы.

Это самый простой и привычный сценарий: терминал — это окно к вашему собственному компьютеру.

Но часто возникает задача работать не с личным ноутбуком, а с сервером или чужим компьютером. Для этого используется удалённый терминал. Подключение к нему выполняется по протоколу SSH (Secure Shell) через команду ssh. Этой командой мы создаём зашифрованное соединение до удалённого компьютера. Оно передаёт команды для выполнения по сети безопасным образом.

Для подключения к серверу через ssh нам потребуется имя пользователя и адрес компьютера.

1ssh <имя пользователя>@<адрес компьютера>
  • Имя пользователя:
    • Это учётная запись, под которой вы входите в систему.
    • У каждого пользователя на Linux-сервере есть своё имя (например, alice, bob, root).
    • Имя пользователя, под которым вы подключились, определяет ваши права в системе — что именно вы можете изменять, читать и выполнять.
  • Адрес компьютера:
    • Вторая часть после @ — это адрес компьютера, к которому вы подключаетесь.
    • Это может быть имя, которое администратор назначил серверу, например hello или ubuntu-server.
    • Это может быть IP-адрес — комбинация из четырёх чисел, разделённых точками: 10.1.2.3. Она позволяет найти нужный компьютер и подключиться к нему.

Пример подключения к серверу hello от имени пользователя alice через протокол ssh:

1ssh alice@hello

После этой команды вы окажетесь в терминале удалённого сервера. Окно будет выглядеть так же, как и ваш локальный терминал, но все действия будут выполняться на другом компьютере.

Если в предыдущей главе вы создали виртуальную машину в Yandex Cloud

Для подключения к ней необходимо использовать ssh. Процесс выглядит так:

Шаг 1. Вы вводите команду для подключения в локальном терминале вашего компьютера:

1$ ssh alice@89.169.140.228

Шаг 2. Следующее сообщение попросит подтвердить подключение. Нужно ввести yes и нажать Enter:

1Are you sure you want to continue connecting (yes/no/[fingerprint])? yes

Шаг 3. После этого подключение будет выполнено, командная строка изменится на ваше имя пользователя и имя сервера, а курсор подскажет, что терминал готов принимать новые команды:

1alice@ubuntu:~$ 

Подробная инструкция, как подключиться по SSH к виртуальной машине Yandex Cloud для доступа к документации.

Чтобы убедиться, на каком именно компьютере вы работаете, используйте команду hostname: она выводит имя текущего компьютера. На вашем ноутбуке это может быть что-то вроде my-laptop, а на сервере — vm-12345. Имена нужны как раз для того, чтобы различать серверы между собой.

1$ hostname
2ubuntu

Здесь ubuntu — это имя сервера, которое было ему дано при его создании администратором.

Запомним: локальный терминал управляет вашим компьютером, а удалённый — чужим, но с технической точки зрения работа одинакова: команды вводятся тем же способом.

Давайте проверим знание команд, с которыми мы встретились:

Чтобы добавить в заметки выделенный текст, нажмите Ctrl + E
Проверь себяСоедините порядковый номер со словом

Выполнение команды

Давайте выполним первые команды.

Для этого вы можете открыть локальный терминал, подключиться к удалённому или открыть наш веб-терминал. Как только он запустится, вы увидите примерно следующее:

1alice@ubuntu:~$

Это называется приглашением командной строки (shell prompt). Оно появляется, когда оболочка готова принять вашу команду. Внешний вид может немного различаться в разных дистрибутивах (или вариантах Linux), но обычно приглашение состоит из нескольких частей и содержит:

  • имя пользователя (me);
  • имя компьютера (ubuntu);
  • текущий рабочий каталог (~ — означает домашний каталог пользователя).
  • Права текущего пользователя:
    • $ — обычный пользователь;
    • #суперпользователь или root (администратор системы с полным доступом ко всем файлам и настройкам).

Важно: если вы видите #, будьте особенно осторожны. Это означает, что вы работаете от имени root и можете изменять систему без ограничений.

Давайте попробуем что-нибудь ввести и нажмём Enter:

1alice@ubuntu:~$ gfdgfdgfd

Система ничего не знает о команде gfdgfdgfd, о чём нам прямо и скажет:

1gfdgfdgfd: command not found
2alice@ubuntu:~$

Если вы нажмёте на клавиатуре клавишу с символом , то вернётесь к предыдущей команде, в нашем случае — gfdgfdgfd. Это называется историей команд, и мы к ней ещё вернёмся в одном из следующих параграфов.

Также вы можете нажать клавиши и — курсор переместится по строчке. Это удобно для редактирования команды, которую мы ввели.

Давайте попробуем другую команду, которая называется echo. Команда echo говорит терминалу вывести указанный в ней текст, и это самый простой способ убедиться, что команды выполняются.

Пример выполнения команды echo:

1alice@ubuntu:~$ echo "Hello, world!"
2Hello, world!

На экране появится надпись Hello, world! — это означает, что команда успешно отправлена, обработана и на экран вернулся её результат.

Попробуйте выполнить команду echo с другим текстом и посмотрите, что получится.

Давайте попробуем выполнить ещё одну команду, чуть более полезную:

1alice@ubuntu:~$ date

Команда date, как можно догадаться по названию, выводит текущие время и дату:

1Tue Nov 11 13:14:39 UTC 2025

Результатом будут текущие дата и время в формате UTC. Команда не открывает часы и календарь, не требует перехода по меню — она сразу показывает нужную информацию.

Любая команда в терминале работает по одному и тому же принципу:

Вы вводите строку → система её выполняет → вы видите результат.

Иногда это сообщение с данными, иногда — пустая строка, если команда выполнилась «молча», а иногда — сообщение об ошибке, если мы что-то неправильно ввели. Главное — вы управляете компьютером напрямую и тут же получаете обратную связь.

Ещё одна полезная команда называется clear. Она позволяет очистить экран от предыдущих команд и начать с чистого листа:

1alice@ubuntu:~$ clear

Чтобы завершить текущую терминальную сессию, введите команду exit:

1alice@ubuntu:~$ exit

Мы также можем завершить терминальную сессию при помощи клавиш CTRL + D.

В следующем параграфе мы разберём, как устроены команды, какие у них есть части и как понимать их результаты.

Давайте попробуем составить команду для поиска всех JPG-картинок в домашнем каталоге:

Чтобы добавить в заметки выделенный текст, нажмите Ctrl + E
Проверь себяРасставь слова по порядку

Практическая работа: знакомство с терминалом

Теперь, когда вы познакомились с основами работы в терминале, попробуем применить их на практике.

Шаг 1. Откройте терминал и очистите экран, чтобы начать с чистого листа:

1clear

Шаг 2. Выведите приветственное сообщение с помощью команды echo. Например:

1echo "Hello, Linux!"

Шаг 3. Добавьте к приветствию сегодняшнюю дату и время:

1date

Шаг 4. Узнайте, на каком компьютере вы сейчас работаете:

1hostname

Шаг 5. Завершите работу с терминалом:

1exit

Что дальше

В следующем параграфе вы узнаете:

  • Как выглядит общий формат команды в терминале.
  • Где система ищет команды и что такое переменные окружения.
  • Как найти справку по команде.

А пока закрепите материал на практике:

  • Отметьте, что урок прочитан при помощи кнопки ниже.
  • Пройдите мини-квиз, чтобы проверить, насколько хорошо вы разобрались с терминалом.
  • Загляните в гайд по системе проверки, если вы здесь впервые.

Ключевые выводы по параграфу

  • Графический интерфейс — это очень удобно, но терминал позволяет выполнять задачи быстрее и эффективнее.
  • Терминалы бывают локальные и удалённые. Для подключения к удалённому терминалу используется протокол и команда ssh.
  • Командные оболочки бывают разные, но самая популярная и распространённая — это оболочка bash.
  • Чтобы понять, где мы находимся, можно использовать команду hostname: она выводит имя компьютера, к которому мы подключены.


Чтобы добавить в заметки выделенный текст, нажмите Ctrl + E
Предыдущий параграф2.4. Где и как можно запустить Linux
Следующий параграф3.2. Как устроены команды, переменные окружения и где искать справку