Go to file
singleshot ed59a301da Merge pull request 'fixes' (#1) from fixes into master
Reviewed-on: #1
2022-10-22 06:02:35 +03:00
.vscode Ready for Gera 2022-05-29 17:46:21 +03:00
include To fix #1 2022-06-21 16:44:06 +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 Debugged 2022-06-23 00:04:16 +03:00
config.h Fix compilation problem 2022-06-21 19:40:15 +03:00
file_tree.save local 2022-06-27 10:42:57 +03:00
handler.h Fixed all found bugs 2022-06-26 21:01:24 +03:00
main.c Fixed all found bugs 2022-06-26 21:01:24 +03:00
old_main.c To fix #1 2022-06-21 16:44:06 +03:00
readme.md Cleanup #1 2022-05-30 17:07:11 +03:00
save.dat Fixed all found bugs 2022-06-26 21:01:24 +03:00
structs.c local 2022-06-27 10:42:57 +03:00
structs.h fixed saves 2022-06-23 18:41:58 +03:00
work1 local 2022-06-27 10:42:57 +03:00

readme.md

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

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

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

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

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

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

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

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

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