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 - Выход из программы
Для запуска программы в терминале:
Для запуска тестов в терминале:
pytest tests/ -v
Тесты покрывают основную функциональность и используют mock-объекты для изоляции от файловой системы.
Логирование: Все ошибки операций записываются в файл shell.log(информация о командах zip/tar/unzip/untar записывается полностью)
Обработка ошибок: Подробные сообщения об ошибках с логированием
Безопасность: Защита от опасных операций (удаление корневой директории и т.д.)
Поддержка специальных путей: ~, .., ., абсолютные и относительные пути
You can’t perform that action at this time.