ЛР.2. Posix-программирование, обработка каталогов.

Задание

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