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, ядро и оболочка, дистрибутивы, файловая система и регистр

🎯 Начальная⏱️ ~50 мин

Занятие 02 — Первые команды

Терминал и приглашение, ls/cd/pwd, mkdir -p, touch, cp, mv, rm, пути и горячие клавиши

🎯 Начальная⏱️ ~60 мин

Занятие 03 — Summary Session 1

Повторение и практика: введение в Linux и первые команды

🔁 Повторение⏱️ ~30 мин

Занятие 04 — Pipe и перенаправления

Потоки stdin/stdout/stderr и дескрипторы, обработка команд и PATH, перенаправления >, >>, <, 2>&1, конвейеры | с wc, head, tail

🎯 Начальная⏱️ ~60 мин

Занятие 05 — Summary Session 2

Повторение и практика: потоки, перенаправления >, >>, конвейеры |, разбор ДЗ 3 и закрепление с echo, cat, wc, head, tail

🔁 Повторение⏱️ ~30 мин

Занятие 06 — Текстовые редакторы vi и nano

Режимы vi и команды i, :wq, dd, yy, p, u; nano с подсказками Ctrl+O/Ctrl+X; конвейер df -h | grep -w / | awk | sed

🎯 Начальная⏱️ ~60 мин

Занятие 07 — Summary Session 3

Повторение и практика: текстовые редакторы

🔁 Повторение⏱️ ~30 мин

Занятие 08 — SSH — secured shell

Подключение к удалённым машинам, ключи, ssh-keygen, scp, конфигурация клиента

🎯 Начальная⏱️ ~60 мин

Занятие 09 — Summary Session 4

Повторение и практика: SSH

🔁 Повторение⏱️ ~30 мин

Занятие 10 — Переменные. Системные переменные

Переменные оболочки и окружения, export, PATH, .bashrc/.profile

🎯 Средняя⏱️ ~60 мин

Занятие 11 — Summary Session 5

Повторение и практика: переменные окружения

🔁 Повторение⏱️ ~30 мин

Занятие 12 — Права доступа и первый bash-скрипт

r/w/x, chmod, chown, владельцы и группы, shebang, первый исполняемый скрипт

🎯 Средняя⏱️ ~60 мин

🔀 Блок 2: Git и Bash-скрипты (Занятия 13–30)

Введение в Git, ветви, merge и rebase, fork и pull request'ы, разрешение конфликтов, командная работа — вперемешку с развитием bash-скриптов: find, циклы, cron, tar.

Занятие 13 — Git: введение

Зачем нужен контроль версий, init, add, commit, status, log, .gitignore

🎯 Начальная⏱️ ~60 мин

Занятие 14 — Summary Session 6

Повторение и практика: права доступа, скрипты, введение в Git

🔁 Повторение⏱️ ~30 мин

Занятие 15 — find, locate, циклы в bash

Поиск файлов find/locate, bash-скрипты: условия, циклы for и while

🎯 Средняя⏱️ ~60 мин

Занятие 16 — Ветви в Git

branch, checkout/switch, создание и переключение ветвей, простые слияния

🎯 Средняя⏱️ ~60 мин

Занятие 17 — Summary Session 7

Повторение и практика: find, циклы, ветви Git

🔁 Повторение⏱️ ~30 мин

Занятие 18 — Работа со скриптами

Аргументы скриптов, функции, обработка ввода, отладка bash-скриптов

🎯 Средняя⏱️ ~60 мин

Занятие 19 — Merge и rebase

Стратегии слияния, fast-forward, merge vs rebase, история коммитов

🎯 Средняя⏱️ ~60 мин

Занятие 20 — Summary Session 8

Повторение и практика: скрипты, merge и rebase

🔁 Повторение⏱️ ~30 мин

Занятие 21 — cron, crontab + tar

Планировщик cron, синтаксис crontab, архивация tar, автоматизация задач

🎯 Средняя⏱️ ~60 мин

Занятие 22 — Git fork в контексте PR

Fork, remote upstream, pull request: процесс предложения изменений

🎯 Средняя⏱️ ~60 мин

Занятие 23 — Summary Session 9

Повторение и практика: cron, tar, fork и PR

🔁 Повторение⏱️ ~30 мин

Занятие 24 — Продолжение работы со скриптами

Усложнение bash-скриптов: комбинирование команд, практические сценарии

🎯 Средняя⏱️ ~60 мин

Занятие 25 — PR в PyCharm

Работа с Git и pull request'ами из IDE: PyCharm-интеграция

🎯 Средняя⏱️ ~60 мин

Занятие 26 — Summary Session 10

Повторение и практика: скрипты, PR в IDE

🔁 Повторение⏱️ ~30 мин

Занятие 27 — Завершение работы со скриптами

Итоговые практики bash-скриптов: разбор сложных примеров

🎯 Средняя⏱️ ~60 мин

Занятие 28 — Git: merge-конфликты, monorepo

Разрешение конфликтов слияния, стратегии работы, монорепозиторий

🎯 Продвинутая⏱️ ~70 мин

Занятие 29 — Summary Session 11

Повторение и практика: конфликты, monorepo

🔁 Повторение⏱️ ~30 мин

Занятие 30 — Командная работа в Git

Совместная разработка: ветвление в команде, code review, рабочие процессы

🎯 Продвинутая⏱️ ~70 мин

🏁 Блок 3: Финальный проект (Занятие 31)

Mini project: применение всего курса — Linux-команды, bash-скрипты и Git — в одном итоговом задании.

🎁 Бонус: дополнения вне лекций

Современные инструменты и практики, которых не было в лекциях, но которые полезны в реальной работе. Помечены как материал «⚠️ Проверить по документации».