Введение
В шумном средневековом городе Таксвилле, славящемся своими огромными рынками и искусными мастерами, жил скромный фермер по имени Грегор. Однажды он подслушал разговор королевских картографов о том, что им нужен человек, способный следить за ростом урожая в королевстве и составлять отчеты каждый час. Посчитав это прекрасной возможностью послужить своей стране и заработать немного серебра, Грегор решил освоить искусство постоянного наблюдения, прибегнув к магии из мира Linux. Ему нужна ваша помощь, чтобы овладеть командой, которая может повторяться сама по себе, неустанно присматривая за полями.
Знакомство с командой watch
На этом этапе вы поможете Грегору научиться использовать команду watch для мониторинга состояния его посевов.
Задачи
- Задача 1: Изучить синтаксис команды
watchи принципы её работы. - Задача 2: Использовать команду
watchдля периодического вывода содержимого директории, где хранятся отчеты об урожае.
Требования
- Ознакомьтесь со справочными страницами
man, чтобы понять, как работает командаwatch. - Рабочий путь по умолчанию для операций в терминале —
/home/labex/project, относительный путь —~/project. - Сохраняйте отчеты об урожае в директории с именем
cropsвнутри рабочего пути. - Используйте команду
watchдля мониторинга директорииcrops. - Инструкции и команды должны выполняться в терминале zsh.
Пример
До использования watch директория Грегора выглядит так:
ll /home/labex/project/crops
total 0
После запуска watch вы можете открыть новый терминал и создать несколько файлов в директории crops. Команда watch будет обновлять список содержимого директории каждые 2 секунды.
Создание отчета с временными метками
На этом этапе Грегор создаст файл отчета с временными метками, используя команду watch.
Задачи
- Задача 1: Написать скрипт, который каждую секунду добавляет новую запись с временной меткой в файл
report.txtвнутри директорииcrops. - Задача 2: Использовать команду
watchдля циклического выполнения этого скрипта.
Требования
Создайте скрипт с именем
timestamp.shв директории~/project/crops. Используйте командуdateвнутри скрипта для получения текущего времени.#!/bin/bash echo "$(date)" >> /home/labex/project/crops/report.txtФайл
report.txtдолжен содержать историю всех добавленных временных меток.Используйте команду
watchдля запуска скрипта каждую 1 секунду.
Пример
После использования команды watch для непрерывного выполнения скрипта timestamp.sh, файл report.txt будет пополняться новой меткой времени каждую секунду.
Вы можете убедиться, что команда watch работает правильно, выполнив следующую команду:
cat /home/labex/project/crops/report.txt
Вывод должен выглядеть примерно так:
Sat Aug 12 09:00:01 UTC 2023
Sat Aug 12 09:02:01 UTC 2023
Sat Aug 12 09:04:01 UTC 2023
Резюме
В этом испытании вашей задачей было помочь Грегору освоить команду watch, чтобы он мог неустанно следить за своим урожаем. Используя этот мощный инструмент, вы успешно помогли ему создать и постоянно обновлять отчет об урожае, соответствующий требованиям королевских картографов. Вы не только отточили свои навыки работы в командной строке Linux, но и внесли вклад в процветание сельского хозяйства Таксвилля.



