
- •Московский институт
- •Лабораторная работа 1.
- •Краткие теоретические сведения
- •Определение типа э в м.
- •Определение объема оперативной памяти.
- •Определение типа адаптера дисплея.
- •Ревизия периферийных устройств.
- •Домашнее задание.
- •Пример вызывающей программы
- •Режим графики
- •Определение времени работы программы
- •Домашнее задание
- •Лабораторная работа 4 Методы защиты программ и данных краткие теоретические сведения
- •Шифрование путем замены.
- •Шифрование путем перестановок.
- •Шифрование с помощью ключа.
- •Домашнее задание
- •Порядок выполнения работы
- •Лабораторная работа 5 Отладчик d e b u g. Краткие теоретические сведения
- •Что такое debug
- •Рабочие регистры
- •Регистры сегментов
- •Регистры смещения
- •Регистр флагов
- •Команды debug
- •Некоторые команды ассемблера
- •Небольшие примеры
- •Домашнее задание
- •Порядок выполнения работы
- •Лабораторная работа 6 Вывод точечной графики для ega адаптера. Циклы и процедуры в ассемблере. Краткие сведения о видеосистемах ibm pc.
- •Программа на ассемблере
- •Пример программы
- •Порядок выполнения работы
- •Лабораторная работа 7 Генерация звука краткие теоретические сведения
- •Пример программы
- •Домашнее задание
- •Небольшие примеры Создание файла
- •Домашнее задание
- •Общие Сведения о системе Вход в систему:
- •Выход из системы:
- •Команда man (оперативный справочник)
- •Команды mount, umount
- •Маршрутные имена файлов
- •Команда who
- •Команда cd
- •Команда pwd
- •Команда mkdir.
- •Команда rmdir.
- •Команда ls.
- •Команда cp.
- •Требуется указать как минимум два аргумента - источник и приемник
- •Команда more и cat
- •Команда mv.
- •Команда chmod
- •Порядок выполнения работы
- •Фильтры и регулярные выражения Команды, изучаемые в данной лабораторной работе:
- •Команда cat
- •Команда tee
- •Команда wc
- •Команда spell
- •Команда sort
- •Команда cut
- •Команда diff
- •Команда grep и fgrep.
- •- I игнорирует регистр - с выводит только число, соответствующее количеству строк с заданным образцом
- •Регулярные выражения
- •Порядок выполнения работы
- •Лабораторная работа 11. Интерпретатор команд Bourne Again Shell (bash). Команды, изучаемые в данной лабораторной работе:
- •Программирование в Bourne Again Shell
- •Команды echo и read
- •Коды завершения
- •Команда test
- •Команды exit и return
- •Команда let
- •Оператор Описание
- •Команда if-then
- •Команда case
- •Команда while
- •Команда for-in
- •Порядок выполнения работы
- •Лабораторная работа 12
- •Shell-программирование: сигналы и прерывания.
- •Хранение файлов во внешней памяти.
- •Общие сведения о системе
- •Команда kill
- •Команда trap
- •Виды действий с сигналами прерываний :
- •Размещение команды trap в программе
- •Выполнение команд в фоновом режиме.
- •Запуск заданий в фоновом/оперативном режиме
- •Команда tar
- •Команда cpio
- •Использование команды find при резервном копировании
- •Порядок выполнения работы
Команды echo и read
Назначение: Для вывода данных в сценарии можно использовать команду echo, а для считывания входной информации в переменные – команду read. Команда echo посылает данные на стандартное устройство вывода. То же самое она делает и в сценарии. Эти данные имеют форму строки символов. Команда echo может выводить не только строковые константы, но и значения переменных. Команда read считывает значение, которое должно быть присвоено переменной. Она позволяет пользователю вводить значение переменной в интерактивном режиме. Фактически команда read читает строку со стандартного устройства ввода. Все, что посылается на стандартный ввод с клавиатуры – вплоть до символа новой строки – считывается и присваивается в качестве значения переменной. В программах можно объединять команды echo и read. С помощью комбинации этих команд пользователю предлагается ввести значение, которое затем считывается в переменную.
Синтаксис:
$ echo текст_выражения
Опции:
echo –n,e
-n выводит только одну строку текста, которая помещается по ширине экрана
-e включает распознавание символов типа \ .
Команда echo и управляющие символы:
Символ Действие при печати
\b Возврат на один симол
\c Подавление перехода на новую строку
\f Перевод страницы
\n Новая строка
\r Возврат каретки
\t Символ табуляции
\\ Обратный слэш
Примеры:
Greetvar
echo Please enter a greeting:
read greeting
echo “The greeting you entered was $greeting”
$ greetvar
Please enter a greeting:
Hi
The greeting you entered was hi
$
В сценарии greetvar пользователю предлагается ввести значение переменной greetvar. Команда read считывает значение, введенное пользователем, и присваивает его переменной greeting.
Коды завершения
Переменная shell ? содержит код завершения последней выполненной команды.
0 команда выполнена без ошибки (true)
не 0 команда завершена в связи с ошибкой (false)
Примеры:
$ true
$ echo $?
0
$ ls
$ echo $?
0
$ echo $?
0
$ false
$ echo $?
1
$cp
Usage : cp f1 f2
...
$ echo $?
1
$ echo $?
0
Команда test
Назначение: Команда test оценивает истинность выражения и формирует код завершения, т.е. фактически сравнивает две величины и, если сравнение выполнено успешно, выдает код завершения 0. С помощью команды test можно сравнивать целые числа, строки, файлы и даже выполнять логические операции. Команда состоит из ключевого слова test и сравниваемых величин, разделенных опцией, которая задает тип сравнения. Существуют две строковые операции, в которых вместо опции используется оператор. При сравнении двух строк на равенство используется знак =, при сравнении на неравенство применяются знаки !=. Вместо ключевого слова test можно использовать квадратные скобки, которые должны быть выделены разделителями: пробелами, знаками табуляции или символами новой строки (т.е. нажатием клавиши Enter). Без разделителей квадратные скобки недействительны. Не забывайте о различиях между опциями, используемыми для строк, и опциями, используемыми для целых чисел. Shell трактует все аргументы как числа в случае, если осуществляется сравнение чисел, и все аргументы как строки, если осуществляется сравнение строк. Общим правилом является необходимость заключений в двойные кавычки всех выражений вида $переменная, что предотвращает неподходящую замену переменных shell’ом.
Синтаксис:
$ test значение –опция значение
$ test строка = строка
$ test –опция имя файла
или
$ [ значение –опция значение ]
$ [ строка = строка ]
$ [ -опция имя файла ]
Опции:
Функции сравнения целых
-gt Больше чем
-lt Меньше чем
-ge Больше или равно
-le Меньше или равно
-eq Равно
-ne Не равно
Функции сравнения строк
-z Проверка на строку нулевой длины
-n Проверка на строковое значение
= Проверка на равенство строк
!= Проверка на неравенство строк
str Проверка на строку ненулевой длины
Логические операции
-а Логическое И
-о Логическое ИЛИ
! Логическое НЕ
Функции тестирования файлов
-f Истина, если файл существует и является обычным файлом, т.е. не каталогом и не файлом устройства
-s Истина, если файл существует и его размер больше нуля
-r Истина, если файл существует и доступен для чтения
-w Истина, если файл существует и доступен для записи
-x Истина, если файл существует и доступен для выполнения
-d Истина, если файл существует и является именно каталогом
Примеры:
$ [ $X -lt 7 ]
$ echo $?
0
$ X=abc
$ [ “$X” != “abc” ]
$ echo $?
1
$ test -f file или [ -f file ]
$ echo $?
0