Скачиваний:
0
Добавлен:
15.04.2026
Размер:
2.13 Mб
Скачать

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ

УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ

«САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ

ТЕЛЕКОММУНИКАЦИЙ ИМ. ПРОФ. М.А. БОНЧ-БРУЕВИЧА»

(СПбГУТ)

ФАКУЛЬТЕТ ИНФОКОММУНИКАЦИОННЫХ СЕТЕЙ И СИСТЕМ (ИКСС)

КАФЕДРА ПРОГРАММНОЙ ИНЖЕНЕРИИ И ВЫЧИСЛИТЕЛЬНОЙ ТЕХНИКИ (ПИ И ВТ)

ДИСЦИПЛИНА: «Операционные системы и сети»

Лабораторная работа №2.

Программирование на Shell Linux

Выполнил:

Цыганков М.А.

Козлов Н.С.

Тюришев М.А.

Подпись____________

Принял:

Дагаев А.В.

Подпись____________

«_____»________ 2021

Цель работы

Разработать программу по обработке информации с применением операторов и команд на Shell Linux;

Постановка задачи

Написать скрипт, который будет реализовывать создание файлов, их удаление и вывод в терминал GNU bash в отсортированном формате по имени или размеру. Взаимодействие со скриптом должно быть реализовано путем выбора нужного действия.

Ход работы

Описание алгоритма:

  1. Создать файлы, удалить или перейти к следующему функционалу

  2. Если было выбрано создание, то создается 20 файлов с порядковыми именами [1.txt, 2.txt…20.txt]

  3. Заполнение каждого файла по порядку n (n.txt) количеством строк

  4. Если было выбрано удаление файлов, то все 20 файлов удаляются

  5. Если было выбрано показать следующий функционал, то предоставляется на выбор отсортированный вывод файлов в терминал GNU bash по имени или по размеру

  6. Если был выбран отсортированный вывод файлов по имени, то одной колонкой выводится список файлов, отсортированный по имени по возрастанию

  7. Если был выбран отсортированный вывод файлов по размеру, то одной колонкой выводится список файлов, отсортированный по размеру по убыванию

Демонстрация работы

Рис. 1 – Результат работы команды «create»

Рис. 2 – Результат работы команды «remove»

Рис. 3 – Результат работы команды «next» и «name»

Рис. 4 – Результат работы команды «next» и «size»

Вывод

В ходе выполнения лабораторной работы, было изучено средство автоматизации Shell Linux и сопутствующий ему язык сценариев.

Код программы

#script

#!/bin/bash

#create or remove or next ignore filework

printf "%s create or remove or next filework: "

read answer

if [ "$answer" = "create" ]; then

for((a=1; a<=20; a++))

do

touch $a.txt

for((b=0; b<$a; b++))

do

echo "->content<-">>$a.txt

done

done

elif [ "$answer" = "remove" ]; then

for((file_name=1; file_name<=20; file_name++))

do

rm $file_name.txt

done

elif [ "$answer" = "next" ]; then

printf "%s name or size: "

read answer

if [ "$answer" = "name" ]; then

ls -1v

elif [ "$answer" = "size" ]; then

ls -1S

else

echo "ERROR 404"

fi

fi

Соседние файлы в папке Лабы