cli
Командная строка
Начни, умея только кликать мышью. Закончи, умея навигировать, искать и автоматизировать систему из голой командной строки.
Начать трек → 01
Оболочка
Терминал — это окно, оболочка — программа внутри него. Научись читать приглашение, вводить команду и понимать, где ты находишься в файловой системе. 02
Файлы и пути
Назови любой файл двумя способами: абсолютные пути начинаются с / и всегда работают; относительные пути начинаются с текущего места и короче. Создавай, копируй, перемещай, удаляй и читай файлы без графического файлового менеджера. 03
Потоки и конвейеры
У каждого процесса три стандартных потока (stdin, stdout, stderr). Перенаправление подключает их к файлам; конвейеры соединяют stdout одной команды со stdin следующей. Освой это — и ты сможешь составить любой конвейер обработки текста. 04
Поиск
Глобы раскрываются в оболочке до запуска любой команды. find ищет в дереве каталогов по имени, типу, размеру или возрасту. grep ищет содержимое файлов по шаблонам. which, type и command -v раскрывают, как оболочка находит команды. 05
Права и пользователи
Каждый файл Linux несёт девять битов прав для владельца, группы и остальных. chmod их устанавливает; chown задаёт правильного владельца и группу; sudo позволяет действовать от имени root для одной команды, не теряя дисциплины минимальных привилегий. 06
Обработка текста
cut извлекает колонки, sort | uniq -c | sort -rn строит таблицы частот, sed переписывает потоки на месте, а awk справляется с арифметикой полей и итогами по ключам — четыре компонуемых инструмента, покрывающих 90% анализа структурированных логов без скриптовых языков. 07
Процессы и задачи
Каждая запущенная программа — это PID в дереве с корнем в init. SIGTERM просит вежливо; SIGKILL нельзя перехватить — он пропускает очистку. Управление задачами позволяет приостанавливать, переводить в фон и на передний план работу внутри сессии — но для выживания при закрытии терминала нужен nohup или disown. Средняя нагрузка и free -h за секунды покажут, ограничена ли машина по CPU, I/O или памяти. 08
Shell-скриптинг
Переменные без кавычек вызывают разбиение по словам и glob-раскрытие — источник большинства ошибок в скриптах. Каждая команда завершается с кодом; $? и [[ ]] позволяют ветвиться по успеху или ошибке. set -euo pipefail превращает bash в интерпретатор с ранним выходом; trap гарантирует очистку при любом завершении. Функции с local-переменными — единица повторного использования. 09
SSH и удалённая работа
ssh user@host открывает зашифрованную оболочку; TOFU и ~/.ssh/config делают её безопасной и эргономичной. Аутентификация по ключу оставляет приватный ключ на клиенте и размещает только публичный ключ на сервере. rsync передаёт только изменённые байты и чисто зеркалирует каталоги — но --delete удаляет без подтверждения, поэтому --dry-run обязателен. tmux отделяет твой терминал от SSH-соединения, чтобы долгие задачи переживали разрывы. 10
Собираем всё вместе
Настоящее владение CLI означает объединение инструментов в рабочие процессы: конвейер find+grep+cut+sort+awk отвечает на вопросы инцидентов за секунды; скрипт с set -euo pipefail, trap и функциями автоматизирует обслуживание безопасно; rsync+ssh+tmux связывает деплой и долгие задачи в отказоустойчивый рабочий процесс.Проекты по этому треку
Guided-проекты, которые закрепляют изученное здесь.
Linux: операционная система
Ты умеешь работать в оболочке — теперь изучи систему под ней: как Linux загружается, запускает сервисы, управляет пользователями и хранилищем и как поддерживать его живым, когда он ломается.