📖 Повторение — Summary Session 9

К оглавлению урока

⚡ Краткое резюме

Урок 21: tar — архивация (Tape ARchive); флаги: -c создать, -x извлечь, -z gzip, -f файл, -v verbose. cron — планировщик Unix; 5 полей расписания; */15 — каждые 15 мин; crontab -e — редактировать.

Урок 22: fork — копия репозитория на GitHub в своём аккаунте. Issue — задача для обсуждения (bug/enhancement/docs). PR = создать ветку → коммит → push → New pull request → code review → merge.

Summary Session 9 — повторение материала Lecture 13 (занятие 21: tar/cron/crontab) и Lecture 14 (занятие 22: git fork/issue/PR).

Урок 21 — Cron, crontab, tar

Подробный материал: Занятие 21: Cron, crontab, tar

Что такое tar

tar (Tape ARchive) — утилита архивации файлов и директорий. Сам по себе tar не сжимает — только упаковывает несколько файлов в один. Для сжатия используется флаг -z (gzip) или -j (bzip2).

Основные флаги tar

  • -c — создать архив (create)
  • -x — извлечь из архива (extract)
  • -r — добавить файлы в существующий архив
  • -t — просмотреть содержимое архива
  • -z — сжать/распаковать через gzip
  • -v — вывод информации о процессе (verbose)
  • -f — указать имя файла архива (всегда последним)

Примеры

# Создать архив из двух файлов
tar -cf archive.tar file1.txt file2.txt

# Создать сжатый архив директории
tar -czf archive.tar.gz directory/

# Извлечь архив
tar -xzf archive.tar.gz

# Просмотреть содержимое
tar -tf archive.tar.gz

Что такое cron

cron — демон-планировщик задач Unix (появился в конце 1970-х). Запускает команды по расписанию автоматически. Использует таблицы crontab, хранящиеся в /etc/crontab и /var/spool/cron.

Синтаксис расписания crontab

Расписание задаётся пятью полями, разделёнными пробелами:

# минуты  часы  день_месяца  месяц  день_недели  команда
# 0-59    0-23  1-31         1-12   0-7 (0,7=вс)
*/15  *   *    *    *   /path/to/script.sh

Спецсимволы

  • * — любое значение
  • 1,2,5 — список значений
  • */n — каждые n единиц (шаг)
  • n-m — диапазон значений

Управление crontab

crontab -e    # редактировать расписание
crontab -l    # показать текущее расписание
crontab -r    # удалить ВСЕ задания пользователя
crontab -u username -l   # расписание другого пользователя

Полезный ресурс

crontab.guru — визуальный редактор выражений cron: вводите выражение, сразу видите читаемое расписание.

Урок 22 — Git fork в контексте PR

Подробный материал: Занятие 22: Git fork в контексте PR

Что такое git fork

Fork — копия удалённого репозитория, созданная в вашем аккаунте на GitHub/GitLab. Позволяет вносить изменения изолированно от оригинального проекта, а затем предлагать их через Pull Request. Связь с оригинальным репозиторием сохраняется.

Issue в GitHub

Issue — место для обсуждения и отслеживания задач/проблем. Категории: bug, enhancement, documentation. Содержит название, описание и метки. Можно связать с PR, упомянув номер: fixes #42.

Рабочий процесс Pull Request (6 шагов)

  1. Получить последнюю версию: git pull
  2. Создать ветку: git checkout -b feature_x
  3. Закоммитить: git add <file> + git commit -m "message"
  4. Запушить: git push origin feature_x
  5. Открыть PR через GitHub → New pull request (начинает обсуждение, code review)
  6. Рецензирование → rebase → тестирование → merge

Обновление форкнутого репозитория

Когда оригинальный репозиторий обновился, синхронизация через upstream:

git remote add upstream https://github.com/original-owner/repo.git
git fetch upstream
git checkout master
git merge upstream/master
git push origin master