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

  • 2. Вычислить факториал целого числа, вводимого с клавиатуры. Предусмотреть проверку правильности ввода аргумента.

  • 3. Найти первые N чисел Фибоначчи, используя рекуррентное соотношение A

  • 4. Написать и выполнить сценарии для решения индивидуальных задач, номер задачи определяется номером бригады

  • Лабораторная работа. 10 лаба ОС и оболочки. Разработка сценариев bash


    Скачать 94.81 Kb.
    НазваниеРазработка сценариев bash
    АнкорЛабораторная работа
    Дата02.04.2022
    Размер94.81 Kb.
    Формат файлаdocx
    Имя файла10 лаба ОС и оболочки.docx
    ТипДокументы
    #436716

    Разработка сценариев bash
    Цель работы – практическое знакомство с методами создания и использования сценариев ОС Linux
    1. Получить полный список ключей команды stat.



    Аргументы, обязательные для длинных ключей, обязательны и для коротких.

    -L, --dereference следовать по ссылкам

    -f, --file-system показать состояние файловой системы, а не файла

    -c --format=ФОРМАТ использовать указанный ФОРМАТ, а не принимаемый по

    умолчанию; переводить строку после каждого

    использования ФОРМАТА

    --printf=FORMAT как --format, но интерпретировать экранирующие

    последовательности и не переводить строку в конце.

    Если вам нужен перевод строки, вставьте в ФОРМАТ \n.

    -t, --terse выводить информацию в компактной форме

    --help показать эту справку и выйти

    --version показать информацию о версии и выйти
    Допустимые форматные последовательности для файлов (без --file-system):
    %a права доступа в восьмеричной форме

    %A права доступа в читаемой форме

    %b число выделенных блоков (см. %B)

    %B размер блока, сообщаемого %b, в байтах

    %C строка контекста безопасности SELinux

    %d номер устройства, десятичный

    %D номер устройства, шестнадцатеричный

    %f низкоуровневый режим, шестнадцатеричный

    %F тип файла

    %g ID группы-владельца

    %G имя группы-владельца

    %h количество жёстких ссылок

    %i количество Inode

    %m точка монтирования

    %n имя файла

    %N экранированное имя файла, символьная ссылки разыменовывается

    %o оптимальный размер блока ввода/вывода

    %s полный размер в байтах

    %t основной тип устройства, шестнадцатеричный формат

    %T второстепенный тип устройства, шестнадцатеричный формат

    %u ID пользователя-владельца

    %U имя пользователя-владельца

    %w время создания файла; - , если неизвестно

    %W время создания файла в секундах с начала Эпохи; 0, если неизвестно

    %x время последнего доступа

    %X время последнего доступа в секундах с начала Эпохи

    %y время последней модификации

    %Y время последней модификации в секундах с начала Эпохи

    %z время последнего изменения

    %Z время последнего изменения в секундах с начала Эпохи
    Допустимые форматные последовательности для файловых систем:
    %a количество свободных блоков, доступных для обычного пользователя

    %b общее количество блоков данных в файловой системе

    %c общее количество файловых нод в файловой системе

    %d количество свободных файловых нод в файловой системе

    %f количество свободных блоков в файловой системе

    %i идентификатор файловой системы, шестнадцатеричный

    %l максимальная длина имени файла

    %n имя файла

    %s размер блока (для быстрейшей передачи)

    %S фундаментальный размер блока (для подсчета блоков)

    %t тип файловой системы, шестнадцатеричный

    %T тип файловой системы в понятном для человека виде

    2. Вычислить факториал целого числа, вводимого с клавиатуры. Предусмотреть проверку правильности ввода аргумента.

    (( )) - математическое сравнение.

    [ - используется для логического сравнения.

    fi - обозначаем окончание условия.

    Комментарий начинается со знака # и продолжается до конца строки. Принято знак # ставить в первой символьной позиции строки. Первая строка #! /bin/sh — это особая форма комментария; символы #! сообщают системе о том, что следующий за ними аргумент — программа, применяемая для выполнения данного файла. В данном случае программа /bin/sh — командная оболочка, применяемая по умолчанию.

    Команда exit гарантирует, что сценарий вернет осмысленный код завершения.

    листинг:

    Выр1 -gt Выр2

    True (истина), если Выр1 меньше Выр2

    Выр1 -lt Выр2

    True (истина), если Выр1 меньше, чем Выр2


    #!/bin/bash 
    echo "Введите число от которого будете брать факториал
    read counter 
    factorial=1 
    if [ $counter -lt 0 ] 
    then 
    echo "Введите положительное число или ноль
    else 
    while [ $counter -gt 0 ] 
    do 
    factorial=$(( $factorial * $counter )) 
    counter=$(( $counter - 1 )) 
    done 
    echo $factorial 
    fi 
    exit 0



    3. Найти первые N чисел Фибоначчи, используя рекуррентное соотношение

    Ai+1=Ai+Ai-1

    Значения первых двух чисел и необходимое количество чисел N ввести с клавиатуры.

    листинг:

    #!/bin/bash

    echo "Введите первое число:"

    read a

    echo "Введите второе число:"

    read b

    echo "Введите количество элементов последовательности:"

    read N

    echo "Первые" $N "чисел Фибоначчи:"

    i=1

    while [ $i -le $N ]

    do

    let "d=(($b+$a))"

    a=$b

    b=$d

    let "i+=1"

    echo "$b"

    done

    exit 0



    4. Написать и выполнить сценарии для решения индивидуальных задач, номер задачи определяется номером бригады:

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

    Для получения доступа к отдельным полям информации о файле или файловой системе к приведенным выше командам добавляется ключ –с и параметр, определяющий поле.

    %n имя файла

    % y Время последней модификации

    -r в обратном порядке

    Line вывести одну строку

    листинг

    #!/bin/bash

    stat -c ‘%y %n’ * | sort -rh | line

    exit 0



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