- •Министерство образования и науки Украины
- •Практическое занятие №1
- •1.1. Сокращенная запись двоичных чисел в восьмеричной и шестнадцатеричной системах счисления
- •1.2. Преобразование восьмеричных и шестнадцатеричных чисел в двоичные
- •1.3. Преобразование двоичных, восьмеричных и шестнадцатеричных чисел в десятичные
- •1.4. Преобразование десятичных чисел в двоичные, восьмеричные и шестнадцатеричные
- •2. Упражнения
- •3. Содержание отчёта
- •Практическое занятие №2
- •1.1. Вход в систему
- •1.2. Редактирование командной строки
- •1.3. Память командных строк
- •1.4. Переключение виртуальных консолей
- •1.5. Изменение консольных шрифтов
- •1.6. Основные команды
- •Выполнение некоторых команд
- •2. Команда просмотра содержимого каталогов -ls (LiSt) – выдает на экран перечень файлов и каталогов (по умолчанию из текущего каталога).
- •Жесткая ссылка обозначает ся так же, как файл, на который она ссылается, счетчик ссылок при этом будет иметь значение больше 1.
- •3. Команда создание новых каталогов - mkdir.
- •5. Команда копирование файлов -cp (CoPy).
- •6. Команда перемещение файлов - mv (MoVe).
- •7. Команда удаление файлов - rm (ReMove).
- •8. Команды просмотра содержимого файлов more и cat.
- •Подстановочные символы
- •1.7. Выход из системы
- •2. Упражнения
- •Используя справочную информацию из п.1.6 Основные команды, изучите работу рассмотренных команд с различными параметрами и опциями:
- •1.2. Перенаправление ввода и вывода
- •1.3. Перенаправление с добавлением
- •1.4. Использование конвейера
- •2. Упражнения
- •3. Содержание отчёта
- •Справочная информация
- •Практическое занятие №4 Псевдонимы команд в ос qnx Цель – создание псевдонимов команд для облегчения работы в среде ос qnx
- •1. Краткие теоретические сведения
- •1.1. Управление связями файлов
- •1.2. Жесткие связи
- •1.3. Символические связи
- •1.4. Права доступа к файлам
- •1.5. Зависимости
- •1.6. Изменение прав доступа
- •2. Упражнения
- •3. Содержание отчёта
- •1.2. Сравнение файлов (команда diff)
- •1.3. Подсчет числа слов, строк и байт в файле (команда wc)
- •1.4. Потоковый редактор sed
- •2. Упражнения
- •/Usr/bin/grep
- •/Usr/xpg4/bin/grep
- •/Usr/xpg4/bin/grep
- •Операнды
- •/Usr/bin/grep
- •/Usr/xpg4/bin/grep
- •Использование
- •Работа с большими файлами
- •/Usr/bin/who
- •/Usr/xpg4/bin/who
- •Операнды
- •1.1. Ввод текста
- •1.2. Редактирование текста
- •1.3. Сохранение файлов и выход из VI
- •1.4. Редактирование еще одного файла
- •1.5. Включение других файлов
- •1.6. Выполнение команд Shell
- •2. Упражнения
- •3. Содержание отчёта
- •Практическое занятие №7 Работа с текстовыми файлами Цель – знакомство с командами, работающими с текстовыми файлами (awk-интерпретатор скриптовый)
- •1. Краткие теоретические сведения
- •1.1. Язык awk
- •1.2. Регулярные выражения
- •Метасимволы, используемые в регулярных выражениях
- •1.3. Действия
- •1.4. Awk-переменные и выражения
- •1.5. Использование операций
- •1.6. Использование массивов
- •1.7. Селекторы
- •1.8. Использование операторов
- •1.9. Ввод и вывод данных
- •1.10. Встроенные функции
- •2. Упражнения
- •Структура файла query1
- •Структура файла query2
- •3. Содержание отчёта
- •1.2. Граматика языка shell
- •2. Упражнения
- •3. Содержание отчёта
- •Выполнить:
- •2. Упражнения
- •Примечание:
- •3. Содержание отчёта
- •1.1. Компоновка объектных модулей
- •1.2. Отладка
- •2. Упражнения
- •Задание №1
- •Задание №2
- •Задание №3
- •Задание №4
- •Задание №5
- •Задание №6
- •Задание №13
- •Задание №14
- •Задание №15
- •Задание №16
- •Задание №17
- •Практическое занятие №11
- •2. Упражнения
- •3. Содержание отчёта
- •1.2. Создание каталога
- •1.3. Биты режима для прав доступа
- •1.4. Удаление каталога
- •1.5. Создание жесткой связи
- •1.6. Создание символической связи
- •1.7. Чтение символической связи
- •1.8. Переименование файла
- •1.9. Удаление файла
- •1.10. Обработка ошибок
- •2. Упражнения
- •3. Содержание отчёта
- •1.2. Проверка возможностей управления работой и процессами в shell
- •2. Упражнения
- •3. Содержание отчёта
- •1.3. Ошибки, связанные с именами файлов
- •1.4. Доступ к файлу
- •2. Упражнения
- •3. Содержание отчёта
- •Практическое занятие №15 Организация процессов вQnx
- •1. Методические указания по выполнению практической работы
- •1.1. Файл main.O
- •1.2. Файл input.C
- •1.3. Файл output.C
- •1.4. Файл process.C
- •1.5. Используемые функции
- •1.6. Получение информации о процессах
- •2. Упражнения
- •1.2. Клиент
- •1.3. Определение идентификаторов узла, процесса и канала (nd/pid/chid) нужного сервера
- •1.4. Применение обмена сообщениями
- •2. Упражнения
- •3. Содержание отчёта
- •Практическое занятие №17 Организация потоков в qnx
- •1. Краткие теоретические сведения
- •1.1. Запуск потока
- •1.2. Администрирование атрибутов потока
- •Текст программы
- •Результаты
- •1.2. Текст программы
- •1.3. Последовательность действий
- •1.4. Результаты
- •2. Упражнения
- •3. Содержание отчёта
2. Упражнения
УПРАЖНЕНИЕ 2.1.
var=abcd
xy=$var+4
xyz=${xy}4
var2=’ab c de’
y=$var2-5
print $var $xy $xyz $y
Вместо команды print в равной мере можно использовать команду echo.
read r t y
1 2 3 4
print $r $t $y
print $y
УПРАЖНЕНИЕ 2.2.
set --
print $#
set a b c
print $#
print $@ $*
print $0
print $?
print $$
ls abc
print $?
УПРАЖНЕНИЕ 2.3.
Прокомментируйте результат в отчете.
print $(date)
print $(ls)
cd /home/g(номер вашей группы)
ls
rm d[!i]*; ls
rm e?; ls
УПРАЖНЕНИЕ 2.4.
Выполнить и записать в отчет результаты выполнения следующих команд:
test 3 -gt 2 && use ls
test 3 -lt 2 && use ls
test 3 -lt 2 || use ls
test ab3 = ab2 || use ls
test ab3 != ab2 || use ls
составить и проверить пример для условия -r file.
УПРАЖНЕНИЕ 2.5.
use expr
x=50
y=40
a=$(expr $x + $y); print $a
a=$(expr $x / $y); print $a
a=$(expr $x - $y); print $a
a=$(expr $x ‘*’ $y); print $a
3. Содержание отчёта
Номер практической работы.
Название и цель работы.
Краткое описание команд.
Результаты выполнения упражнений 2.1-2.5.
ПРАКТИЧЕСКОЕ ЗАНЯТИЕ №9
Программирование сценариев для интерпретатора shell
Цель – изучить технологию программирования сценариев
1. Команды, работающие с символьными файлами.
1.1. КОМАНДА sort
sort [-o name] [-bdfinru] file...
Команда сортирует строки всех указанных файлов и сливает их в один файл.
-o name - имя выходного файла, который должен быть использован для записи результатов сортировки (по умолчанию используется стандартное устройство вывода).
Опции (выборочно):
-b - игнорировать лидирующие пробелы;
-d - сортировать в алфавитном порядке;
-f - преобразовывать символы верхнего регистра в символы нижнего;
-i - игнорировать непечатные символы;
-n - интерпретировать поле как число, сортировать в числовом порядке;
-r - инвертировать порядок сортировки; file ... - входные файлы, которые должны быть отсортированы.
Выполнить:
cd..;ls|sort -d
ls|sort -r
Прокомментировать результаты в отчете.
1.2. КОМАНДА find («поиск файлов»)
find path... [operand_expression]
path - путь к директорию
Команда осуществляет сканирование директория (директориев) с выборкой имен файлов которые удовлетворяют условию true, для поля operand_expression. Если это поле отсутствует, то на стандартный выход выводятся имена всех файлов обнаруженных командой, включая файлы обнаруженные в субдиректориях.
Поле operand_expression (выборочно):
-user uname
(POSIX) True если файл принадлежит пользователю с именем uname .
-group gname
(POSIX) true если файл принадлежит группе пользователей с групповым именем gname
-name pattern
(POSIX) True если базовое имя файла совпадает с образом pattern.
Поле pattern стоится из специальных символов имеющих следующие значения:
? - любой символ кроме <newline>;
* - любая строка, включая, пустую строку;
[bracet-expr] - выражение в квадратных скобках - определяет область возможных подстановок для одного символа. В скобках может быть также использован символ «!», который трактуется как операция логического дополнения. (Подробней см. HELP, пункт «манипуляция файлами»):
-exec utility_name [argument...] ;
(POSIX) True, если выполняемая утилита utility_name возвращает нулевой статус. Строка должна заканчиваться символом «;».
Аргумент утилиты может содержать символы {} или @ которые при исполнении заменяются полным текущим именем файла
ВЫПОЛНИТЬ:
find . -user g/номер вашей учебной группы/
find /bin -name ‘[a-e]*’
find /bin -exec print 1;
find /bin -exec print @;
find /bin -exec echo {};
Прокомментировать результаты в отчете.
1.3. КОММЕНТАРИЙ
Строки файла shell-сценария, которые начинаются с символа «#» рассматриваются как комментарий.
СПЕЦИАЛЬНЫЙ КОММЕНТАРИЙ
1) shell сценарий может иметь встроенные сообщения, которые выводятся командой use. use - утилита сканирует каждую строку от начала shell - сценария, просматривая все строки начинающиеся с символа «#». На стандартное устройство выводятся все строки комментария начинающиеся со строки #ifdef __USAGE и ограниченные строкой #endif или любым символом отличным от #.
Пример:
#ifdef __USAGE
#proba 1
#proba 2
#proba 3
#endif
2) Строка комментария вида #! /bin/sh вызывает для исполнения файла сценария дополнительную копию shell (subshell). Обычно эта строк является первой в файле сценария. Использование subshell увеличивает надежность работы при наличии ошибок. При использовании subshell файл сценария должен быть завершен командой exit 0.
КОМАНДА exit [n]
Команда завершает текущий интерпретатор shell и формирует выходной статус, определенный числом n. Если число не указано, то устанавливается равным значению статуса последней выполненной команды.