- •Министерство образования и науки Украины
- •Практическое занятие №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. Содержание отчёта
Практическое занятие №4 Псевдонимы команд в ос qnx Цель – создание псевдонимов команд для облегчения работы в среде ос qnx
1. Краткие теоретические сведения
Ещё одной возможностью, облегчающей вашу работу, является поддержка псевдонимов команд. Псевдонимы команд – это команды, создаваемые пользователем. Обычно псевдонимы команд, создаваемые для уменьшения количества вводимой информации, являются аббревиатурами других команд.
Например, если вы постоянно используете следующую команду, то можете создать псевдоним для нее, чтобы уменьшить ввод:
$cd /usr/X11/lib/X11/fvwm/sample-configs
Вместо того чтобы каждый раз вводить эту команду для перехода в каталог sample-configs, можно создать псевдоним goconfig, который будет вызывать выполнение более длинной команды. Для создания псевдонима следует использовать команду alias. Чтобы создать псевдоним goconfig, введите в приглашении bash следующую команду:
$alias goconfig='cd /usr/X11/lib/X11/fvwm/sample-configs'
Теперь, до тех пор, пока вы не выйдите из командного интерпретатора, ввод команды goconfig будет вызывать выполнение оригинальной длинной команды.
Если вы решите, что больше не нуждаетесь в псевдониме, для удаления его можете использовать команду unalias:
$unalias goconfig
Существует много псевдонимов, которые могут пригодиться большинству пользователей. они могут быть записаны в файл, выполняемый при входе в систему, что избавит вас от их постоянного ввода. Вам могут пригодиться следующие псевдонимы:
alias ll='ls -1': позволяет получить подробный листинг каталога с помощью команды ll
alias lo='logout': дает быстрый способ ввода команды logout
alias ls='ls -F': добавляет косые ко всем именам каталогов, чтобы легче было их различать
При определении псевдонимов не ставьте пробелы до и после знаков равенства. В противном случае командный интерпретатор не сможет правильно определить, что вы хотите сделать. Кавычки необходимы только если команда, содержит пробелы ил другие специальные символы.
Если ввести команду alias без аргументов, она выведет все определенные псевдонимы. Следующий листинг иллюстрирует пример вывода команды alias:
alias dir='ls'
alias ll='ls -s'
alias ls='ls -F'
alias md='mkdir'
alias net='term < /dev/modem > /dev/modem 2> /dev/null&'
1.1. Управление связями файлов
Связи позволяют давать одному физическому файлу много имен. Системой файлы распознаются по индексам файлов, которые являются уникальными идентификаторами в рамках системы. Команда ls -i выдаст вам индексы файлов. На самом деле каталог - это перечень индексов файлов с соответствующими этим индексам номерами. Каждое имя файла в каталоге привязано к конкретному индексу.
1.2. Жесткие связи
Команда ln используется для создания множества связей для одного файла. Например, скажем, что у вас есть файл foo. Используя ls -i можно посмотреть индекс этого файла.
$ls -i foo
22192 foo
$
Здесь файл foo имеет в файловой системе индекс 22192 (значение индексов каталогов и файлов в используемой файловой системе будут другими ). Мы можем создать новую связь для этого файла под именем bar:
$ ln foo bar
С помощью ls -i можно убедиться, что оба файла имеют один и тот же индекс.
$ ls -i foo bar
22192 bar 22192 foo
$
Теперь, обращаясь к foo или bar мы фактически обратимся к одном у тому же файлу. Поэтому, если мы меняем что-то в файле foo, эти же самые изменения произойдут в файле bar.
Эти связи известны, как жесткие связи (hard links), поскольку они реализуются прямой ссылкой на индекс файла. Обратите внимание, что в рамках одной файловой системы вы можете организовать только жесткие связи; символические связи (смотрите ниже) не имеют этого ограничения.
Когда вы удаляете файл командой rm, на самом деле вы удаляете только одну ссылку на файл. Если вы введете команду
$ rm foo
Удаляется только связь, имеющая имя foo; bar будет как и прежде существовать. Файл только тогда действительно удаляется, когда на него больше нет связей. Обычно файлы имеют только одну связь, так что команда rm действительно приведет к удалению файла. Однако, если файл имеет много ссылок, применение rm приведет только к удалению одной связи; для того, чтобы удалить файл, вы должны удалить все связи на этот файл.
Команда ls -l покажет число ссылок на файл (кроме прочей информации)
$ ls -l foo bar
-rw-r--r-- 2 root root 12 Aug 5 16:51 bar
-rw-r--r-- 2 root root 12 Aug 5 16:50 foo
$
Вторая колонка с цифрой ``2'' показывает число связей файла.
На самом деле оказывается, что каталоги представляют собой справочник типа "имена-индексы". Кроме прочего, каждый каталог имеет минимум две жесткие ссылки: ``.'' (ссылка, указывающая на самого себя) и ``..'' (ссылка, указывающая на родительский каталог). В корневом каталоге (/) ссылка ``..'' указывает на сам же каталог /.