# Лабораторная работа №3 Необходимо реализовать простую файловую систему на основе дерева. В файловой системе есть две сущности: * Файлы. Считается, что содержимого файлов нет. Атрибутами файла являются дата создания, название и расширение файла. * Папки. Папки могут хранить в себе файлы, а также другие папки. У папок есть следующие атрибуты: дата создания и количество сущностей, лежащих в папке. Программа должна представлять из себя консольное приложение, эмитирующее консоль ОС Linux. Минимум, должны быть доступны следующие команды: * cd – переход по указанному пути; * ls – просмотр текущей директории. Также должен быть доступен запуск команды с флагом –l, выводящим атрибуты сущностей директории; * rm – удаление файлов. Должна поддерживать флаг –r для рекурсивного удаления папки и ее содержимого; * mkdir – создание папки; * touch – создание файла; * find – поиск файлов по указанному пути. Файловая система должна в режиме реального времени хранится в файле (все изменения мгновенно заносятся в файл). Структуру хранения выбрать самостоятельно, главное – оптимизация по памяти. Для тестов файловой системы и показа ее на защите лабораторной работы необходимо, чтобы глубина дерева была не меньше 15, степень дерева не меньше 30, общее количество сущностей в файловой системе не меньше 100. Будет плюсом: * Реализация других команд, помимо основных (заранее обговорить какие); * Поддержка регулярных выражений в командах rm и find.