Мини-файловая система
Проект собирается с помощью cmake
- build.sh: сборка проекта
- run.sh: сборка + запуск проекта. Использует по умолчанию в качестве образа файл image. Вызов ./run.sh с флагом --new инициирует создание новой файловой системы в образе image.
Для собранного бинарного файла есть 2 аргумента командной строки:
image: имя файла с образом файловой системы.--new: опциональный флаг. Если указан вторым аргументом, то в переданный файл с образом будет записана информация о новой файловой системе. И далее этот файл будет использоваться как образ.
main.c: точка входа в проект. Описана логика взаимодействия с пользователем.headers/: директория с хедерамиsrc/util.c: реализованы общие функции для работы компонент.src/api.c: реализация функций для взаимодействия с файловой системой.src/fs.c: реализация внутреннего устройства мини файловой системы.
ls: выводит содержимое текущей директории. Не принимает никаких аргументов.mkdirdirname: создает в текущей директории директорию с названием dirname. Строка dirname должна состоять из неболее чем 27 символов латинского алфавита (для других сценариев корректная работа не гарантируется).cddirname: перемещение из текущей директории в директорию с названием dirname.touchfilename: создание файла с названием filename в текущей директории.echo: запись данных в файл. Для использования необходимо ввести команду и затем либо в новой строке либо через пробел написать желаемые данные для добавления в конец файла. После ввода данных на новой строке написать название файла.echoline: команда, аналогичная командеecho, но добавляет символ перевода строки к записанным данным.catfilename: выводит содержимое файла filename, лежащего в текущей директории.rmfilename: удаляет файл filename из текущей деректории. В для удаления директорий используется рекурсивная стратегия.pullsrc dest: подтягивает файл src из настоящей файловой системы в файл с именем dest в текущей директории. Файл dest не должен существовать до вызова этой команды.pushsrc dest: заливает файл src из текущей директории в настоящую файловую систему в файл, который определяется путем dest.