
- •Оглавление
- •Введение
- •Основы теории операционных систем Общие сведения об операционных системах
- •Организация диалога пользователя
- •Графический режим диалога пользователя
- •Файловые менеджеры
- •Назначение функциональных клавиш
- •Системные вызовы
- •Архитектура операционной системы
- •Машино-независимые свойства операционных систем Файловая система пк
- •Типы файлов
- •Физическая организация fat
- •Работа с файлами и каталогами средствами командной строки Windows
- •Команды общесистемного назначения
- •Работа с каталогами
- •Работа с файлами
- •Процессы
- •Запрос пользователя на создание процесса.
- •Защищенность и отказоустойчивость ос
- •Система raid – массивов дисков
- •Распределение ресурсов пк
- •Разрешение конфликтов при распределении ресурсов
- •Запрос – ожидание – запрос – ожидание - …..
- •Управление процессами в интерактивных ос
- •Организация ввода – вывода
- •Работа подсистемы по ввода – вывода
- •Поддерживать несколько файловых систем
- •Вести системную информацию о состоянии и распределение устройств:
- •Распределение ресурсов пк
- •Разрешение конфликтов при распределении ресурсов
- •Запрос – ожидание – запрос – ожидание - …..
- •Управление памятью
- •Раздел 1 Раздел 1
- •Раздел 2 Раздел2
- •Кэширование данных
- •Общая схема выполнения запроса к оп в системах с Кэш – памятью (выполнение системного вызова)
- •Средства поддержки сегментации памяти
- •П роцесс
- •Преобразование виртуального адреса в физический адрес
- •Механизм преобразования виртуального адреса в физический адрес при работе процессора в сегментном режиме
- •Механизм преобразования виртуального адреса в физический адрес при работе процессора в сегментно - страничном режиме
- •Операционная система Windows
- •Загрузка windows xp
- •Архитектура Windows xp
- •Основные компоненты ос Windows xp
- •Технологические принципы ос Windows
- •Физическая организация данных ntfs
- •Каталоги ntfs
- •Архивирование данных
- •Компьютерные вирусы
- •Реестр Windows xp
- •Операционная система Linux
- •Основные понятия ос linux
- •Файловая система ос linux
- •Процессы
- •Основные команды ос linux
- •Архивирование и сжатие файлов
- •Shell – сценарии
- •Архитектура сетевой операционной системы
Shell – сценарии
SHELL – сценарий - это текстовый файл, который содержит команды интерпретатора SHELL (BASH) – LINUX. При запуске файла происходит выполнение команд, которые он содержит. SHELL – сценарии используются с целью упрощения работы и рационального использования рабочего времени.
В первой строке файла сценария содержится строка # ! / bin / sh
Система получает указание, где следует искать интерпретатор Bourne shell. Далее записываются команды для выполнения действий. Сценарий просматривается интерпретатором в направлении сверху вниз, команды выполняются последовательно, если нет условных операторов. Строка комментария начинается с символа #, эта строка будет игнорирована интерпретатором.
Сценарий создается текстовым редактором, для выполнения сценария для файла сценария следует установить право «выполнение».
chmod u + x <имя_сценария>
для запуска сценария следует ввести имя сценария в командной строке
# ./ <имя_сценария>
SHELL – сценарии создаются на языке программирования SHELL. В сценариях используются переменные, условные, циклические операторы, функции.
Пример 1. Составить сценарий, который позволяет создать каталог fd и скопировать в него все файлы текущего каталога с суффиксом tx.
# ! / bin / sh
mkdir fd
cp *.tx /fd
Пример 2. Составить сценарий, который позволяет переместить файлы текущего каталога с суффиксом tx в каталог fd и удалить их.
# ! / bin / sh
mv *.tx /fd
rm *.tx
Переменные могут быть локальными и переменными среды. Локальные переменные определены в сценарии и действуют в пределах сценария.
Имя_переменой = значение
Значением переменной может быть число, имя файла, путь к файлу, строка символов. Все переменные воспринимаются интерпретатором, как строка. Перед именем переменной ставиться знак $.
Переменные среды используются для выполнения настроек среды пользователя.
-
HOME
#cd $HOME
-
Устанавливает домашний каталог пользователя
PATH
PATH =$HOME/bin/…./home
-
Указывает путь к программе сценария
EDITOR
-
Определяет имя редактора по умолчанию
TZ
-
Определяет часовой пояс
LOGNAME
-
Регистрационное имя пользователя
Команда echo отображает на экране указанную строку текста. Общий формат
echo строка
Строка заключается в двойные кавычки, можно использовать управляющий символ /n – переход на новую строку.
echo “ all ready “
Для вывода на экран значения переменной используется команда echo
Пример
$gred = example
echo $gred
echo “ значение переменной ”, $gred, “ выведено на экран”
Чтобы перенаправить результат работы команды echo в файл, используется оператор >
echo “ эта строка будет записана в файл” > myfile
в данном случае содержимое файла будет заменено. Оператор >> позволяет добавить строку в конец файла
echo “Отчет создал пользователь ” . $LOGNAME . `date` >> myfile
команда сценария echo $? отображает на экране код завершения команды, выполненной в сценарии. 0 – завершение правильное, либо код ошибки.
Логические операторы
-a - логическое умножение AND
-o - логическое сложение OR
! - отрицание NOT
Пример. Проверка права «чтения» файла abc.dat
ls –l abc.dat
test [-w abc.dat]
echo $?
На экран будет выведена 1, если есть право чтения -rw r-- r--
Пример. Проверка права «чтения» файла abc.dat и abc1.dat
ls –l abc*.dat
test [-w abc.dat –a abc1.dat]
echo $?
Пример. Проверка права «чтения» файла abc.dat или abc1.dat
ls –l abc*.dat
test [-w abc.dat –о abc1.dat]
echo $?
Есть возможность проверять строки и числа, как правило, для проверки вводимых пользователем данных, например пароля.
[cтрока1 = строка2]
echo $?
[-z строка] - строка пустая
[-n строка] - строка непустая
Для проверки условий используется оператор IF
-
if [условие] then
команды
fi
if [условие]
then
команды1
else
команды2
fi
Условные операторы применяются для проверки результатов поиска файлов
if [grep “abc” file1.dat]
then echo “ файлы, содержащие символы abc, найдены”
else echo “ файлы, содержащие символы abc, не найдены”
fi
Пример. Проверка пустой каталог или нет
# ! / bin / sh
if [ “ ` ls –a D1 ` ” = ” ”] then
echo “ каталог пустой ”
else echo “ каталог не пустой”
fi
Ввод данных осуществляется оператором read список ввода
read a1 a2 a3
Существует возможность передачи параметров в командной строке при вызове сценария
# имя_сценнария параметр1 параметр2 …
# ch1 D1 D2
В сценарии переменная $1 примет значение D1, а переменная $2 – значение D2
D1 и D2 могут означать имена каталогов
Пример. Создать каталог, имя которого передается, как параметр командной строки
# ! /bin /sh файл ch1
$D1=$1
mkdir $D1
echo “ создан каталог ”, $D1
вызов сценария # ./ ch1 rt1 - будет создан каталог rt1
Циклы
Общий формат цикла for
for имя_переменной in list
do
Команда1
Команда2
……..
done
Цикл for однократно выполняет команды, записанные в теле цикла для каждого значения, указанного в списке list. Список list может содержать числа, строки, имена файлов. Командой может быть команда интерпретатора или оператор shell.
Пример
# !/ bin/sh на экран будут выведены имена файлов
for ps in `ls` текущего каталога
do
echo $ps
done
Пример. Создание резервных копий файлов текущего каталога. Резервная копия будет получена копированием файла в файл к имени, которого приписано расширение bak.
# !/ bin/sh
$bk = ”.bak”
for ps in `ls -a`
do
cp $ps $ps$bk
done
если в каталоге есть файлы: a1, a1.txt, b11, b11.doc, то будут созданы файлы
a1.bak, a1.txt.bak, b11.bak, b11.doc.bak