Главная страница
Навигация по странице:

  • ПЕРША ЧАСТИНА Етап 1.1. Автоматичне створення файлів у файловій системі користувача

  • ./1.sh activities

  • Етап 1.2. Створення діалогового інтерфейсу користувача

  • СисПрог Курсова (2). Міністерство освіти, науки, молоді І спорту україни одеський національний політехнічний університет


    Скачать 1.09 Mb.
    НазваниеМіністерство освіти, науки, молоді І спорту україни одеський національний політехнічний університет
    Дата01.07.2019
    Размер1.09 Mb.
    Формат файлаdocx
    Имя файлаСисПрог Курсова (2).docx
    ТипДокументы
    #83408
    страница1 из 3
      1   2   3


    МІНІСТЕРСТВО ОСВІТИ, НАУКИ, МОЛОДІ І СПОРТУ УКРАЇНИ

    ОДЕСЬКИЙ НАЦІОНАЛЬНИЙ ПОЛІТЕХНІЧНИЙ УНІВЕРСИТЕТ

    Інститут комп’ютерних систем

    Кафедра комп’ютерних інтелектуальних систем і мереж

    Курсова робота

    зі Системного програмування

    Варіант 2

    Виконав студент групи АМ-171

    Гергель Д. О.

    Перевіряє:

    Блажко О. А.

    Одеса-2019

    ПЕРЕДМОВА

    У поданій роботі викладено процес створення програмних засобів, які автоматизують виконання певних системних операцій, такі як створення чи видалення файлів/каталогів, виконання транзакцій у СКБД. Також програми дозволяють отримати інформацію про систему (об’єм ОЗП, модель процесора і т. д.). Створення програм виконується мовою програмування bash.

    Створені програмні засоби мають як текстовий, так і псевдографічний інтерфейс, який реалізується за допомогою утиліти dialog чи whiptail.

    Метою цієї курсової роботи є закріплення основних теоретичних та практичних основ дисципліни «Системне програмування».

    ЗМІСТ



    ПЕРША ЧАСТИНА 4

    Етап 1.1. Автоматичне створення файлів у файловій системі користувача 4

    Етап 1.2. Створення діалогового інтерфейсу користувача 8

    Етап 1.3. Відображення характеристик ОС 11

    ДРУГА ЧАСТИНА 15

    Етап 2.1. Автоматичне створення файла-скрипта заповнення таблиці БД 15

    Етап 2.2. Автоматичний запуск процесів-транзакцій 18

    Етап 2.3. Підключення скриптів з 1-го та 2-го етапів до псевдографічного діалогового інтерфейу користувача 21

    ВИСНОВКИ 29

    ПЕРША ЧАСТИНА

    Етап 1.1. Автоматичне створення файлів у файловій системі користувача

    Завдання:

    1. При програмуванні процесу створення файлів використовувати скриптову мову програмування інтерпретатора оболонки командного рядка Bash.

    2. Тип файл визначається у відповідності з варіантом у таблиці 1.1.1:

    Таблиця 1.1.1

    Варіант

    Тип файлу

    2

    Файл-каталог

    1. Назви файлів отримати з текстового файлу, створеного з таблиці 1.1.2 у відповідності до варіанту:

    Таблиця 1.1.2



    1. Каталог повинен містити один текстовий файл із назвою каталогу.

    2. Скрипт повинен мати параметр командного рядка з назвою каталогу, в якому будуть розміщені файли.

    Виконання:

    Створимо скрипт, який створює папки, із застосуванням псевдографічого інтерфейсу (1.sh):

    #!/bin/bash

    #Дозволяємо зчитування пробілів

    IFS=$'\n'
    #Отримуємо вхідний параметр із ім'ям файлу

    inp_file=$1
    #Перевірка існування даного файлу

    if [[ ! -f $inp_file ]]; then

    dialog --msgbox "Вхідний файл "${inp_file}" не знайдено!" 0 0

    exit -1

    fi
    #Зчитуємо в масив імена каталогів із вхідного файлу

    readarray a_dirnames < $inp_file
    #Отримуємо кількість імен каталогів

    dirs_cnt=${#a_dirnames[@]}
    #Запускаємо цикл та індикатор прогресу

    (

    for (( i=0; i < dirs_cnt; i++ )); do

    #Відкривальна мітка для індикатору прогреса

    echo "XXX"

    #Обчислення й виведення прогресу у відсотках

    awk "BEGIN {printf \"%0.f\n\", 100*$((i+1))/$dirs_cnt}"

    #Витягування назви каталогу з масиву та відсікання зайвих

    #пробілів, що можуть бути на кінці та початку

    dirname=$(echo ${a_dirnames[i]} | awk '{$1=$1};1')

    #Створення повідомлення для індикатору прогреса

    msg="Створення \"$dirname\"..."

    #Перевірка існування даного каталогу

    if [[ -d dirs/$dirname ]]; then

    #Оновлюємо повідомлення

    msg="${msg}\nТакий каталог вже існує!"

    else

    #Створюємо каталог в папці 'dirs' за допомогою mkdir

    #Виводимо всі повідомлення про помилки в окремий файл

    mkdir -p dirs/$dirname 2> errors.txt

    #Перевірка успішності команди

    if [[ ! $? -eq 0 ]]; then

    #Оновлюємо повідомлення

    msg="${msg}\nКоманду "mkdir" виконано з помилками!"

    else

    #Оновлюємо повідомлення

    msg="${msg}\nКаталог успішно створено."
    #Записуємо текстовий файл із ім'ям каталогу

    echo $dirname > "dirs/$dirname/name.txt"

    fi

    fi

    #Виводимо наше повідомлення на індикатор

    echo -e $msg

    #Завершальна мітка для індикатору прогреса

    echo "XXX"

    #Затримка ходу програми (0.5 сек.)

    sleep 0.5

    done

    ) | dialog --title "Створення каталогів..." --gauge "Почекайте..." 10 65 0 clear

    Запускаємо скрипт:

    d_gergel@dell:/sp_cwork$ ./1.sh activities



    Переглядаємо список створених каталогів:



    Перегляд файлу name.txt (містить ім’я каталогу, в якому він знаходиться):



    Етап 1.2. Створення діалогового інтерфейсу користувача
      1   2   3


    написать администратору сайта