Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Лабораторная работа №2 Мини-оболочка с файловыми командами

Поддерживаемые команды:

  • ls [путь] [-l] - Показать содержимое директории
  • cd [путь] - Сменить текущую директорию
  • cat <файл> - Показать содержимое файла
  • cp <источник> <назначение> [-r] - Копировать файлы и директории
  • mv <источник> <назначение> - Переместить или переименовать
  • rm <путь> [-r] - Удалить файлы и директории
  • grep <паттерн> <путь> [-r] [-i] - Поиск шаблона в файлах

Работа с архивами:

  • zip <папка> <архив.zip> - Создать ZIP архив
  • unzip <архив.zip> - Распаковать ZIP архив
  • tar <папка> <архив.tar.gz> - Создать TAR.GZ архив
  • untar <архив.tar.gz> - Распаковать TAR.GZ архив

Дополнительные команды:

  • help - Справка по командам
  • exit/q/quit - Выход из программы

Для запуска программы в терминале:

  • python -m src.main

Для запуска тестов в терминале:

  • pytest tests/ -v
  • Тесты покрывают основную функциональность и используют mock-объекты для изоляции от файловой системы.

Особенности реализации:

  • Логирование: Все ошибки операций записываются в файл shell.log(информация о командах zip/tar/unzip/untar записывается полностью)
  • Обработка ошибок: Подробные сообщения об ошибках с логированием
  • Безопасность: Защита от опасных операций (удаление корневой директории и т.д.)
  • Поддержка специальных путей: ~, .., ., абсолютные и относительные пути

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages