Задания для зачета по факультативу Unix shell
Для всех задач, преподаватель может засчитать частичное решение на основе субъективной оценки того, насколько
вы были близки к корректному решению, и ваших соображений по поводу того, как работает то, что вы написали.
- Напишите программу, которая находит в заданном каталоге все исполняемые файлы, которые имеют более одного имени (или, что то же самое, все группы имен, которые являются жесткими или символическими линками на один и тот же исполняемый файл).
- Найдите самый длинный исполняемый файл во всех каталогах, входящих в PATH.
- Подсчитайте общее количество уникальных файлов и других объектов файловой системы (каталогов, символических связей
и т.д., кроме записей . и ..) во всех каталогах, входящих в PATH (символическая ссылка считается самостоятельным уникальным объектом, жесткие ссылки на один файл - нет).
Эта программа может создавать промежуточные файлы в /tmp и делать несколько проходов по каталогам.
- Выведите имена всех пользователей в системе, которым принадлежит хотя бы один файл с установленным битом
setuid. Допускается игнорировать файлы в каталогах, к которым у вас нет доступа.
Имена файлов и другие сообщения, в том числе сообщения об ошибках доступа к каталогам, выводить не следует.
- Напишите скрипт, который распечатывает свой собственный текст. Скрипт должен работать даже если он запущен не из текущего каталога, в том числе через поиск в PATH.