Задания для зачета по факультативу Unix shell
- Напишите программу, которая выводит имена (login name) пользователей, удовлетворяющих всем следующим условиям:
- Домашний каталог пользователя существует
- Пользователь заходил в систему по данным /var/adm/wtmpx (эти данные можно вывести командой last(1))
- Напишите программу, которая выводит имена (login name) пользователей, удовлетворяющих всем следующим условиям:
- На момент запуска программы, существует процесс, запущенный от имени этого пользователя
- Пользователь никогда не заходил в систему по данным /var/adm/wtmpx (эти данные можно вывести командой last(1))
- Напишите скрипт (командный файл), который интерпретирует два позиционных аргумента как десятичные числа, и выводит сумму этих чисел. Если количество аргументов отличается от 2, или один из них не является числом, следует вывести сообщение об ошибке.
- Найдите каталог или файл с самым длинным именем (basename) в заданном каталоге или его подкаталогах.
Обратите внимание, что имена могут содержать пробелы!!!
- Подсчитайте среднюю длину всех регулярных файлов во всех подкаталогах заданного каталога, и среднеквадратичное отклонение
этой длины от среднего. Среднеквадратичное отклонение для величины xi вычисляется по формуле
. Для вычислений
можно использовать awk(1).
- Подсчитайте среднюю длину всех регулярных файлов во всех подкаталогах заданного каталога, не используя внешние программы
для вычислений. Разрешается использовать ls(1) или find(1) для построения списка файлов и получения их длин.