Skip to content

Latest commit

 

History

History
37 lines (21 loc) · 4.13 KB

lab-1.md

File metadata and controls

37 lines (21 loc) · 4.13 KB

Лабораторная работа 1. Скрипты shell.

Изучение элементов и конструкций скриптов shell: переменных, параметров, ветвлений, циклов, вычислений, команд shell и вызовов внешних программ.

Условие

Создать скрипт для shell, обеспечивающий получение заданным образом организованной выходной информации.

Результаты выполнения записываются в файл (наиболее универсальный способ их сохранения). Скрипт сделать исполняемым, выполнить, проанализировать результат. Используются перенаправление ввода-вывода, внешние утилиты и фильтры, переменные shell.

Для редактирования shell-скрипта рекомендуется использовать консольные редакторы текста, например vim, nano, micro.

Варианты заданий

  1. Топ 5 процессов, которые потребляют больше всего памяти и процессора в системе: имя процесса, имя пользователя, PID.

  2. Список подкаталогов и файлов в заданном каталоге: имя анализируемого каталога, список подкаталогов, список файлов, общее число файлов и подкаталогов. Имя анализируемого каталога может быть задано аргументом командной строки.

  3. Шестнадцатиричный дамп заданного файла: имя файла, строки дампа, имя пользователя, дата (в качестве подписи).

  4. "Самодокументирующийся скрипт": форматирует собственный текст, снабжает заголовком и подписью по аналогии с предыдущим вариантом.

  5. Статистика текущего сеанса: имя пользователя, текущее время, дата, текущий каталог, число процессов в системе, время работы.

  6. Замер времени выполнения команды: имя команды/процесса, время выполнения. Команда или имя внешней программы задаются в командной строке скрипта. Сам скрипт такой программой быть не может (что сильно упрощает реализацию!).

  7. Список файлов в каталоге и подкаталогах к которым не обращались в течение времени, заданного аргументом командной строки.

  8. Список коммитов популярного репозитория, размещённого на сайте https://github.com/ (или схожем) в формате дерева, короткого хэша коммита, электронной почты автора и названия коммита.

Ресурсы