Skip to content

nikitawastaken/config_1

Repository files navigation

Конфигурационное управление

Задание 1

Вариант 13

Разработать эмулятор для языка оболочки ОС. Необходимо сделать работу эмулятора как можно более похожей на сеанс shell в UNIX-подобной ОС. Эмулятор должен запускаться из реальной командной строки, а файл с виртуальной файловой системой не нужно распаковывать у пользователя. Эмулятор принимает образ виртуальной файловой системы в виде файла формата zip. Эмулятор должен работать в режиме GUI. Конфигурационный файл имеет формат yaml и содержит: • Имя пользователя для показа в приглашении к вводу. • Путь к архиву виртуальной файловой системы. Необходимо поддержать в эмуляторе команды ls, cd и exit, а также следующие команды:

  1. echo.
  2. chmod.
  3. uname. Все функции эмулятора должны быть покрыты тестами, а для каждой из поддерживаемых команд необходимо написать 3 теста.

Стек технологий

  1. Python 3: Основной язык программирования.
  2. Tkinter: Для создания GUI.
  3. PyYAML: Для обработки конфигурационного файла.
  4. Zipfile: Для работы с ZIP-архивами.

Описание функционала

  • ls — вывод содержимого папки.
  • cd — переход в другую директорию.
  • echo — вывод текста.
  • chmod — изменение прав доступа к файлам.
  • uname — вывод информации о системе.
  • exit — завершение работы эмулятора.

Реализация

  1. Эмулятор командной строки:

    • Реализован класс ShellEmulator, который обрабатывает команды и управляет виртуальной файловой системой.

    • Команды вводятся пользователем в GUI и передаются на обработку.

  2. GUI:

    • Реализован класс ShellGUI с использованием Tkinter.

    • Поля ввода и вывода команд отображаются в графическом интерфейсе.

    • Результат выполнения команды выводится в текстовой области.

  3. Файловая система:

    • Временная файловая система создаётся в памяти при запуске программы и удаляется при её завершении.

Тестирование

Тестирование функционала пройдено успешно: alt text

Запуск

  1. Клонировать репозиторий:

    git clone https://github.com/nikitawastaken/config_1.git
  2. Перейти в папку с проектом

    cd config_1
  3. Запустить эмулятор

    python3 shell_emulator.py
  4. Пример использования alt text

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages