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