Linux & Git
Интерактивный справочник-курс по основам Linux и Git: командная строка, pipe и перенаправления, vi/nano, SSH, переменные окружения, права доступа, bash-скрипты, cron, ветви и слияния в Git, pull request'ы и командная работа.
📚 Что повторить перед изучением
- Базовая работа с компьютером: файлы, папки, расширения, пути
- Любой терминал (PowerShell, cmd или эмулятор Linux) — где он находится и как открыть
- Базовый Python: домашние задания курса выполняются в связке с Python-окружением
- VS Code или PyCharm: открытие проекта, встроенный терминал
Справочники команд
Полные каталоги команд — пополняются с каждым новым уроком.
🐧 Блок 1: Основы Linux (Занятия 1–12)
Введение в Linux, первые команды, pipe и перенаправления, текстовые редакторы vi/nano, SSH, переменные окружения, права доступа и первый bash-скрипт.
Занятие 01 — Введение в Linux
История GNU/Linux, ядро и оболочка, дистрибутивы, файловая система и регистр
Занятие 02 — Первые команды
Терминал и приглашение, ls/cd/pwd, mkdir -p, touch, cp, mv, rm, пути и горячие клавиши
Занятие 03 — Summary Session 1
Повторение и практика: введение в Linux и первые команды
Занятие 04 — Pipe и перенаправления
Потоки stdin/stdout/stderr и дескрипторы, обработка команд и PATH, перенаправления >, >>, <, 2>&1, конвейеры | с wc, head, tail
Занятие 05 — Summary Session 2
Повторение и практика: потоки, перенаправления >, >>, конвейеры |, разбор ДЗ 3 и закрепление с echo, cat, wc, head, tail
Занятие 06 — Текстовые редакторы vi и nano
Режимы vi и команды i, :wq, dd, yy, p, u; nano с подсказками Ctrl+O/Ctrl+X; конвейер df -h | grep -w / | awk | sed
Занятие 07 — Summary Session 3
Повторение и практика: текстовые редакторы
Занятие 08 — SSH — secured shell
Подключение к удалённым машинам, ключи, ssh-keygen, scp, конфигурация клиента
Занятие 09 — Summary Session 4
Повторение и практика: SSH
Занятие 10 — Переменные. Системные переменные
Переменные оболочки и окружения, export, PATH, .bashrc/.profile
Занятие 11 — Summary Session 5
Повторение и практика: переменные окружения
Занятие 12 — Права доступа и первый bash-скрипт
r/w/x, chmod, chown, владельцы и группы, shebang, первый исполняемый скрипт
🔀 Блок 2: Git и Bash-скрипты (Занятия 13–30)
Введение в Git, ветви, merge и rebase, fork и pull request'ы, разрешение конфликтов, командная работа — вперемешку с развитием bash-скриптов: find, циклы, cron, tar.
Занятие 13 — Git: введение
Зачем нужен контроль версий, init, add, commit, status, log, .gitignore
Занятие 14 — Summary Session 6
Повторение и практика: права доступа, скрипты, введение в Git
Занятие 15 — find, locate, циклы в bash
Поиск файлов find/locate, bash-скрипты: условия, циклы for и while
Занятие 16 — Ветви в Git
branch, checkout/switch, создание и переключение ветвей, простые слияния
Занятие 17 — Summary Session 7
Повторение и практика: find, циклы, ветви Git
Занятие 18 — Работа со скриптами
Аргументы скриптов, функции, обработка ввода, отладка bash-скриптов
Занятие 19 — Merge и rebase
Стратегии слияния, fast-forward, merge vs rebase, история коммитов
Занятие 20 — Summary Session 8
Повторение и практика: скрипты, merge и rebase
Занятие 21 — cron, crontab + tar
Планировщик cron, синтаксис crontab, архивация tar, автоматизация задач
Занятие 22 — Git fork в контексте PR
Fork, remote upstream, pull request: процесс предложения изменений
Занятие 23 — Summary Session 9
Повторение и практика: cron, tar, fork и PR
Занятие 24 — Продолжение работы со скриптами
Усложнение bash-скриптов: комбинирование команд, практические сценарии
Занятие 25 — PR в PyCharm
Работа с Git и pull request'ами из IDE: PyCharm-интеграция
Занятие 26 — Summary Session 10
Повторение и практика: скрипты, PR в IDE
Занятие 27 — Завершение работы со скриптами
Итоговые практики bash-скриптов: разбор сложных примеров
Занятие 28 — Git: merge-конфликты, monorepo
Разрешение конфликтов слияния, стратегии работы, монорепозиторий
Занятие 29 — Summary Session 11
Повторение и практика: конфликты, monorepo
Занятие 30 — Командная работа в Git
Совместная разработка: ветвление в команде, code review, рабочие процессы
🏁 Блок 3: Финальный проект (Занятие 31)
Mini project: применение всего курса — Linux-команды, bash-скрипты и Git — в одном итоговом задании.
🎁 Бонус: дополнения вне лекций
Современные инструменты и практики, которых не было в лекциях, но которые полезны в реальной работе. Помечены как материал «⚠️ Проверить по документации».