Оболочка поддерживает базовые команды, существующие на unix - подобных ОС
-
ls [-l] path - отображает список файлов текущей директории (path отсутствует либо равен '.') либо директории path. Опция -l служит для отображения метаданных файлов директории
-
cd target_dir - помогает перемещаться в указанный каталог. Поддерживает переход в родительский каталог ('..') или в домашний каталог ('~').
-
cat file_name - выводит содержимое файла в консоль
-
cp [-r] file_name target_dir - копирует файл file_name из текущей директории в назанченную target_dir. Поддерживает опцию рекурсивного копирования каталога.
-
mv file_name target_dir - помогает переместить файл file_name из текущего каталога в назначенный target_dir. Если target_dir является текущим каталогом, то файл file_name фактически переименовывается.
-
rm [-r] file_to_del - помогает удалить из текущего каталога файл file_to_del. Если file_to_del является каталогом, то поддерживается опция -r рекурсивного удаления всех файлов каталога
-
zip folder name_zipped_folder - помогает архивировать папку folder с именем name_zipped_folder
-
unzip name_zipped_folder path_to_unpack - разархивирывает zip-файл name_zipped_folder в указанную директорию
-
tar folder name_ratred_folder - помогает архивировать папку folder с именем name_tarred_folder
-
untar name_tarred_folder path_to_unpack - разархивирывает tar-файл name_tarred_folder в указанную директорию
-
grep pattern path - помогает пользваотелю найти pattern в файлах директории path
-
history n - выводит n последний команд
-
undo command - отменяет действие одной из команд из списка (rm, cp, mv)
-
все функции логируются. Файл shell.log
- В папке src находится функции, отвечающие за реализацию вышеперечисленных команд, и вспомогательные функции, которые помогают реализовать корректный функционал программы. В файле shell.log сохраняются все логи за последний запуск команд.
- В папке tests находятся тесты функций, логично разделенные между собой.
- Файл README.md содержит описание проекта (вы его как раз таки читаете).
- Файл requirements.txt содержит все сторонние библиотеки и их версии, используемые для реализации корректного функционала.
Программа запускается в бесконечном цикле. Для остановки нужно ввести 'q'. Программа ожидает от пользователя ввод вышеперечисленных команд с опциями и аргументами при наличии.