Skip to content

collhoun/Lab2

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

Оболочка поддерживает базовые команды, существующие на 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'. Программа ожидает от пользователя ввод вышеперечисленных команд с опциями и аргументами при наличии.

Работу выполнил Малинин Ярослав Юрьевич М8О-102БВ-25

About

Python second lab

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages