ЛР.2. Posix-программирование, обработка каталогов.
Задание
- Используя
функции модуля dirent.h подсчитать в переданном каталоге
с учетом содержимого подкаталогов произвольной глубины вложенности:
1) количество файлов разных типов (регулярные файлы, каталоги, символьные устройства,
блочные устройства, FIFO-каналы(пайпы), символические ссылки, сокеты)
2) количество ошибок доступа
3) суммарный объем регулярных файлов
4) количество регулярных файлов, доступных текущему пользователю
а) для чтения, б) для чтения и записи, в) для исполнения
- Используя
функции модуля dirent.h и функцию realpath (man 3 realpath) для получения
абсолютных имен файлов,
найти в переданном каталоге
с учетом содержимого подкаталогов произвольной глубины вложенности:
1) регулярные файлы - жесткие ссылки друг на друга (выводить группами)
2) символические ссылки на один и тот-же файл внутри исходного каталога
(выводить группами, первым в группе имя регулярного файла,
затем - ссылки на этот файл)
3) символические ссылки, обеспечивающие "зацикливание" каталогов внутри
исходного каталога и включая исходный каталог (выводить группами, первым в группе имя
каталога, затем - зацикливающие этот каталог ссылки)