Цели работы
Получить навыки работы с командным интерпретатором в интерактивном режиме. Освоить средства перенаправления ввода-вывода, группировки команд и условного выполнения, изучить следующие команды, определенные стандартом Posix.2:
basename | chgrp | chmod | chown | colon(:) | which | dd | df |
dirname | du | file | link | ln | logname | mesg | |
tar | more | enable | nice | printf | pwd | alias | unalias |
tee | time | gzip | umask | uname | unlink | who | write |
Описание работы
Для решения предлагается два блока заданий. Блок I содержит задания базового уровня и оценивается в 4 балла. Блок II содержит задания повышенной сложности и оценивается в 8 баллов. Студент выбирает один, наиболее понравившийся ему блок заданий.
Блок I (4 балла)
# | Задание | Команды |
---|---|---|
1 | Вывести перечень и количество входных имен студентов, которые разрешают запись в свой домашний каталог | find, basename, wc |
2 | Провести поиск файлов с расширением .a в каталоге /usr/lib и его подкаталогах. Вывести имена всех каталогов, содержащих найденных файлы. Поиск следует запустить в фоновом режиме, затем вывести на экран фразу "Поиск файлов". Сценарий должен дождаться завершения поиска, вывод сообщения о том, что фоновое задание завершено, следует подавить | find, dirname, sort, uniq, echo, wait |
3 | Реализовать сценарий temporarycleaner.sh, который удаляет временные файлы Mozilla Firefox в домашнем каталоге и прозводит очистку от cookie, при условии, что папка .mozilla существует. При первом запуске браузера Mozilla Firefox в домашнем каталоге будет создана скрытая папка .mozilla, а также вложенная папка .mozilla/firefox. Для хранения временных файлов браузером в директории .mozilla/firefox будет создана вложенная папка RANDOM_NAME.default, где RANDOM_NAME генерируется случайным образом. (ВНИМАНИЕ: таких папок может быть несколько). Для удаления временных файлов необходимо очистить папку .mozilla/firefox/RANDOM_NAME.default/Cache. Чтобы выполнить очистку от cookie необходимо удалить файл данных cookies.sqlite (SQLite Database File) из папки .mozilla/firefox/RANDOM_NAME.default/ | решить самостоятельно |
Блок II (8 баллов)
Необходимо реализовать сценарий Сbackup.sh, обеспечивающий возможность автоматического сохранения в подкаталоге C_backups домашнего каталога всех собственных файлов кода на языке C (файлы с расширением .c в домашнем каталоге или его подкаталогах) в архиве tar.gz. Сценарий используется с одним (обязательным) параметром, который определяет имя архива. Информацию о созданном архиве сценарий заносит в журнал backups.info, который хранится в каталоге C_backups. Блок информации для каждого архива включает в себя: имя архива, дату и время создания архива и перечень файлов, собранных в архив. Сценарий самостоятельно создает каталог С_ backups, если его не существовало. Сценарий должен модифицировать права доступа к каталогу C_backups, обеспечив доступ исключительно пользователю-владельцу.
Также необходимо создать сценарий Cbackup_cleaner.sh для очистки каталога C_backups и журнала backups.info.
Критерии оценки работы
Блок I (Блок II) заданий оценивается в 4 балла (8 баллов) при условии соблюдения срока, определенного для данной лабораторной работы. При этом задание должно быть выполнено полностью, результат должен соответствовать требованиям задания, автор обязан понимать собственное решение. При несоблюдении сроков сдачи задания, базовый балл уменьшается вдвое каждую неделю после срока.
Защищая работу, студент должен продемонстрировать знание общего назначения приведенных в разделе "Цели работы" команд (например, cp — копирование файлов), умение создавать псевдонимы команд и ссылки (hard, soft), понимание назначения прав доступа для обычных файлов и каталогов и умение работать с командой chmod.