Проект ротации: отделить старую смену от нового журнала
Перенесите завершённую смену в отдельный файл и создайте новый текущий журнал. Более ранние архивы должны остаться нетронутыми.
Ситуация и цель
В учебном приложении закончилась смена 18. Её журнал нужно сохранить отдельно, а current.log подготовить к следующей смене. Нельзя просто очистить текущий файл без сохранения истории.
Исходные данные
В logs/current.log две записи завершённого периода. previous.log хранит более ранний период. Новый архив называется shift-18.log; новая текущая запись — 19:00 opened.
Учебный проект
Виртуальные файлы · без доступа к вашей системе · Reset в любой момент
- В logs/current.log две записи завершённого периода. previous.log хранит более ранний период. Новый архив называется shift-18.log; новая текущая запись — 19:00 opened.
- Выполните действия в учебном терминале. Сверяйте имена и результат после каждого изменения.
- Нажмите «Проверить»: должны выполниться все условия задания.
Подсказка 1
Сначала переместите завершённый файл, затем создайте новый по прежнему текущему пути. Допустим и вариант копирования с последующим усечением, если архив успел получить полный текст до изменения источника.
Подсказка 2
Завершённая смена перенесена в архив. Новый журнал начинается с новой смены. Более ранний архив сохранён
Подсказка 3
Откройте разбор решения ниже и выполняйте его строки по отдельности.
Разбор решения
Это один из допустимых способов. Вводите команды по отдельности.
mv logs/current.log logs/shift-18.log
echo "19:00 opened" > logs/current.log
cat logs/current.logПорядок работы
Сначала переместите завершённый файл, затем создайте новый по прежнему текущему пути. Допустим и вариант копирования с последующим усечением, если архив успел получить полный текст до изменения источника.
Как проверяется результат
Завершённая смена перенесена в архив.
Новый журнал начинается с новой смены.
Более ранний архив сохранён.
Разбор и границы применения
Это ручная модель для неподвижных учебных файлов. Реальный процесс может продолжать писать через открытый дескриптор после переименования. Для производственного сервиса требуется согласование ротации с приложением или его штатным механизмом; этот тренажёр этого не моделирует.
Технические источники
Использованы для проверки поведения. Объяснения и учебные сценарии созданы для проекта.
- GNU Coreutils — документация утилит
Проверка текста: 2026-09-06. Нативное исполнение на всей матрице дистрибутивов ещё не подтверждено.
Основные понятия общие для Linux. Состав утилит, версии и системные настройки зависят от окружения.
От материала к практике
Выберите следующую тему в каталоге Linux или проверьте знакомые команды в учебном терминале.