- •1.2 Методические указания по организации самостоятельной работы
- •1.2.1 Общие положения
- •1.2.2 Типы подключения к сети
- •1.2.3 Трансляция сетевых адресов (nat)
- •1.2.4 Сетевой мост (Bridged)
- •1.2.5. Внутренняя сеть (Internal Network)
- •2.3. Описание лабораторной установки (программного обеспечения )
- •1.3. Описание лабораторной установки (программного обеспечения )
- •1.4. Порядок выполнения работы и методические указания по ее выполнению
- •1.5 Содержание отчета
- •1.6 Контрольные вопросы и задания
- •2.1 Цель лабораторной работы
- •2.2. Методические указания по организации самостоятельной работы
- •2.2.1 Общие положения
- •2.2.2. Перенаправление потоков и программные каналы
- •2.2.3 Справочные команды
- •2.2.4. Команды работы с каталогами
- •2.2.4. Команды работы с файлами
- •2.2.5. Команды работы с текстовыми файлами
- •2.2.6. Команды работы с процессами
- •2.3. Описание лабораторной установки (программного обеспечения )
- •2.4. Порядок выполнения работы и методические указания по ее выполнению.
- •2.5. Содержание отчета
- •2.6. Контрольные вопросы и задания
- •3.2.1. Общие положения
- •3.2.3. Таблица Nat
- •3.2.4. Основы построения правил
- •3.2.5. Таблицы
- •3.2.7. Критерии выделения пакетов
- •3.2.8 Действия и переходы
- •3.2.10 Действия nat, dnat
- •3.3. Описание лабораторной установки (программного обеспечения )
- •3.5. Содержание отчета
- •3.6. Контрольные вопросы и задания
- •4.2. Методические указания по организации самостоятельной работы
- •4.2.1 Общие положения
- •4.3 Порядок выполнения работы и методические указания по ее выполнению.
- •4.4 Контрольные вопросы и задания
2.1 Цель лабораторной работы
Ознакомление с командным языком системы UNIX, оболочкой bash, перенаправлением потоков ввода/вывода и с программными каналами.
2.2. Методические указания по организации самостоятельной работы
2.2.1 Общие положения
Работу ОС UNIX можно представить в виде функционирования множества взаимосвязанных процессов. При загрузке системы сначала запускается ядро, которое в свою очередь запускает основную задачу, порождающую все последующие процессы – процесс init (процесс № 1).
Взаимодействие пользователя с системой UNIX происходит в интерактивном режиме посредством командного языка. Оболочка операционной системы – shell – интерпретирует вводимые команды, запускает соответствующие программы (процессы), формирует и выводит ответные сообщения.
Важной составной частью UNIX является файловая система. Она имеет иерархическую структуру, образующую дерево каталогов и файлов. Корневой каталог обозначается символом "/", путь по дереву каталогов состоит из имен каталогов, разделенных символом "/", например:
/usr/include/sys
2.2.2. Перенаправление потоков и программные каналы
В ОС UNIX существует три стандартных потока: поток ввода, поток вывода и поток стандартного протокола (поток ошибок).
Перенаправление потоков позволяет изменить стандартный ввод (вывод):
< – изменение источника стандартного ввода;
>, >> – изменение приемника стандартного вывода.
Примеры:
cat > filename - перенаправление вывода программы cat в файл filename (если этот файл существует, то его прежнее содержимое будет утеряно);
cat >> filename - добавить содержимое вывода программы cat к содержимому файла filename;
cat < filename - сформировать стандартный ввод программы cat из содержимого файла filename.
Стандартные потоки - поток ввода, поток вывода и поток ошибок (поток протокола) имеют фиксированную нумерацию - 0, 1 и 2 соответственно. Эти номера (номера дескрипторов потоков) можно использовать в явном виде. Например, запись
prog 1>file
эквивалентна записи
prog >file
Для того, чтобы отличить имя потока от имени файла, перед номером потока ставится символ ‘&’:
prog >file 2>&1
Канал - это программное средство, связывающее процессы ОС UNIX буфером ввода/вывода. Запуск процессов в виде
$ процесс_1 | процесс_2 | ... | процесс_n
означает, что стандартный вывод процесса_1 будет замкнут на стандартный ввод процесса_2, стандартный вывод процесса_2 будет замкнут на стандартный ввод процесса_3 и т.д. При этом сначала создается канал, а потом на выполнение одновременно запускаются все процессы, и общее время их выполнения определяется более медленным процессом.
Пример: ls | wc -l
Команда ls выводит на экран (стандартный поток вывода) список файлов текущего каталога, а команда wc -l считает количество строк во входном потоке (в файле, а если файл не указан – в стандартном входном потоке). Таким образом, объединение этих двух команд программным каналом позволяет посчитать количество файлов в текущем каталоге. Те же действия можно организовать так:
ls > buffer
wc -l < buffer
rm -f buffer
