урок 1 из 10

Зачем командная строка

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

9 мин чтения · 4 главы ·5 заданий ·домашняя работа

Почему текст

Командная строка кажется пережитком: зачем печатать, если можно нажать кнопку? Но у текста есть свойства, которых у кнопок нет, — и поэтому терминал никуда не делся, а в работе с серверами стал главным инструментом.

  • Сервер обычно без экрана. Большинство серверов в интернете работают на Linux и вовсе не имеют графического интерфейса. Подключиться к ним можно только по сети и только текстом.
  • Команду можно повторить. Последовательность кнопок нужно помнить и нажимать заново; последовательность команд можно записать, переслать коллеге и выполнить ещё раз ровно так же.
  • Команды соединяются. Одна находит файлы, вторая отбирает нужные строки, третья считает — из маленьких программ собирается решение, для которого никто не делал отдельной кнопки.
  • Текст точен. «Удалить все файлы журналов старше недели в этой папке» — одна строка, которую видно целиком и которую можно проверить перед запуском.

Linux — семейство операционных систем, у которых общее ядро и почти одинаковый набор базовых команд. Он стоит на большинстве серверов, в облаках, в контейнерах, в роутерах, в умных телевизорах; ядро Linux лежит и в основе Android. Поэтому команды из этого курса пригодятся почти везде, где есть компьютер без привычного окна.

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

Терминал, оболочка, команда

Когда вы открываете терминал, работают три разные вещи, и их полезно различать.

Терминал:окнодля текстаОболочка:разбираетстрокуПрограмма:делаетработуВыводв окно
Терминал — только окно. Строку читает оболочка: разбирает её на команду и аргументы, находит программу и запускает её. Программа делает работу и пишет результат обратно в окно.
  • Терминал — окно, которое показывает текст и передаёт нажатия клавиш. Сам он ничего не делает.
  • Оболочка — программа, которая читает вашу строку, разбирает её и запускает нужную программу. Самая распространённая оболочка — bash; бывают и другие, но основа у них общая.
  • Команды — в большинстве своём отдельные программы: ls, cp, grep. Оболочка лишь находит и запускает их.

Оболочка встречает вас строкой приглашения, и в ней много полезного:

Любая команда устроена одинаково: имя команды, затем ключи (обычно с дефисом: -l, --help) и аргументы — с чем работать. Разделяются они пробелами, поэтому имя файла с пробелом берут в кавычки: "мой отчёт.txt".

Где учиться

Linux бывает разный: Ubuntu, Debian, Fedora и десятки других. Их называют дистрибутивами — это одно ядро и одни базовые команды, собранные разными командами людей с разными настройками и набором программ. Для нашего курса разница почти не важна: всё, что касается файлов, прав, процессов и сети, работает одинаково. Где дистрибутивы расходятся — прежде всего в установке программ, — курс скажет об этом прямо.

Где попробовать, ничего не сломав:

  • на Windows — встроенная подсистема Linux (WSL): настоящий Linux в окне, рядом с обычной системой;
  • в виртуальной машине — отдельный компьютер внутри вашего, который не жалко;
  • на недорогом облачном сервере — ближе всего к настоящей работе;
  • на старом ноутбуке — если он всё равно пылится.

Несколько вещей, которые экономят время с первого дня:

  • Tab дописывает имя команды или файла — меньше опечаток и не нужно помнить длинные имена;
  • стрелка вверх возвращает прошлые команды, history показывает их списком;
  • Ctrl+C прерывает команду, которая зависла или делает не то;
  • --help после команды и man перед ней — встроенная справка.
ls --help      # короткая справка
man ls         # полное руководство; выход — клавиша q

Три правила курса

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

Первое: читай команду, прежде чем выполнить. Особенно чужую — из статьи, чата, ответа нейросети. Разберите её на части: что за программа, какие ключи, с какими файлами. Если часть непонятна — сначала --help, потом запуск. Строки, которые скачивают что-то из интернета и сразу выполняют, и строки с удалением стоит читать дважды.

Второе: минимум прав. Работать обычным пользователем, а права администратора брать на одну команду через sudo и только когда она правда нужна. Администратор root может всё — в том числе удалить систему одной опечаткой. Обычный пользователь просто получит «нет прав», и это защита, а не помеха.

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

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

Задания урока

Каждое проверяется сразу: ответ сверяется с эталоном, и на неверный вариант приходит разбор.

  1. Что верно о командной строке?средне
  2. Сопоставьте слой и его роль.легко
  3. Разложите части строки «ls -l /etc».средне
  4. Расставьте, что происходит после Enter.средне
  5. В Linux файлы Report.txt и report.txt — один и тот же файл.средне
Пройти урок с проверкой заданий Курс «Linux и командная строка» открыт и бесплатен, прогресс сохраняется.
Открыть курс