Разработать программу, которая перебирает все каталоги, начиная от заданного и ниже. По окончании перебора выводит полную информацию о всех найденных уникальных файловых системах в человекочитаемом формате, сгруппированных по типу файловой системы. Для решения задачи рекомендуется использовать функции модуля dirent.h, системную функцию statfs или ее posix-аналог statvfs. Уникальность файловой системы определяется по ее идентификатору (например struct statfs.f_fsid). Выход за пределы заданного каталога не допускается.
Вывод должен включать точки монтирования всех найденных файловых систем, если они находятся в пределах заданного каталога и ниже. Если ни одна точка монтирования конкретной файловой системы не находится в пределах каталога, то следует сообщить о данном факте.
Для определения текущих точек монтирования файловых систем рекомендуется использовать текстовый файл /etc/mtab, где второе поле в каждой строке содержит абсолютный путь к примонтированной файловой системе, либо текстовый файл /proc/self/mountinfo, где пятое поле каждой строки содержит ту-же информацию.
Альтернативный способ определения текущих точек монтирования файловых систем: получение дескриптора монтирования с помощью системной функции statx и обработка текстового файла /proc/self/mountinfo, где первое поле каждой строки - дескриптор монтирования, а пятое поле - абсолютный путь к примонтированной файловой системе.