Go to file
German Fidarov c5827322e6 Cleanup #1 2022-05-30 17:07:11 +03:00
.vscode Ready for Gera 2022-05-29 17:46:21 +03:00
.gitattributes Добавьте GITIGNORE- и GITATTRIBUTES-файлы. 2022-04-16 23:45:40 +03:00
.gitignore Добавьте GITIGNORE- и GITATTRIBUTES-файлы. 2022-04-16 23:45:40 +03:00
Makefile start work with trees 2022-04-18 15:55:05 +03:00
cmd.c start work with trees 2022-04-18 15:55:05 +03:00
cmd.h start work with trees 2022-04-18 15:55:05 +03:00
config.h Ready for Gera 2022-05-29 17:46:21 +03:00
main.c Ready for Gera 2022-05-29 17:46:21 +03:00
readme.md Cleanup #1 2022-05-30 17:07:11 +03:00
structs.c Gera idi nahuy 2022-05-29 17:53:30 +03:00
structs.h Ready for Gera 2022-05-29 17:46:21 +03:00
work1 Gera idi nahuy 2022-05-29 17:53:30 +03:00

readme.md

Лабораторная работа №3

Необходимо реализовать простую файловую систему на основе дерева. В файловой системе есть две сущности:

  • Файлы. Считается, что содержимого файлов нет. Атрибутами файла являются дата создания, название и расширение файла.
  • Папки. Папки могут хранить в себе файлы, а также другие папки. У папок есть следующие атрибуты: дата создания и количество сущностей, лежащих в папке.

Программа должна представлять из себя консольное приложение, эмитирующее консоль ОС Linux. Минимум, должны быть доступны следующие команды:

  • cd переход по указанному пути;
  • ls просмотр текущей директории. Также должен быть доступен запуск команды с флагом l, выводящим атрибуты сущностей директории;
  • rm удаление файлов. Должна поддерживать флаг r для рекурсивного удаления папки и ее содержимого;
  • mkdir создание папки;
  • touch создание файла;
  • find поиск файлов по указанному пути.

Файловая система должна в режиме реального времени хранится в файле (все изменения мгновенно заносятся в файл). Структуру хранения выбрать самостоятельно, главное оптимизация по памяти.

Для тестов файловой системы и показа ее на защите лабораторной работы необходимо, чтобы глубина дерева была не меньше 15, степень дерева не меньше 30, общее количество сущностей в файловой системе не меньше 100.

Будет плюсом:

  • Реализация других команд, помимо основных (заранее обговорить какие);
  • Поддержка регулярных выражений в командах rm и find.