СуперЭВМ_лаб_работа_03_04 (1061929), страница 2
Текст из файла (страница 2)
Рис. 5.26. Структура файловой системы UNIX
Наиболее важные системные программы, данные и конфигурационные файлы UNIX размещаются в специальных каталогах:
-
/bin - команды и утилиты;
-
/usr - файлы для поддержки решения пользовательских задач;
-
/dev - специальные файлы устройств ввода-вывода;
-
/etc - утилиты администрирования и конфигурационные файлы;
-
/lib - включаемые библиотеки C/C++;
-
/tmp - временные файлы;
-
/var - сообщения и системные журналы;
-
/samples - примеры программ и настроечных файлов.
ОС UNIX использует собственную систему разграничения прав доступа к файлам (на чтение, запись и выполнение) для трех категорий пользователей: владельца файла, членов группы владельца и всех остальных.
Все указанные выше особенности файловой системы UNIX поддерживаются системными сервисами UNIX в z/OS. Для размещения файлов UNIX и реализации иерархической структуры доступа создаются специальные однотомные SMS-управляемые наборы данных, получившие название наборов данных HFS. Каждый набор данных HFS содержит определенный сегмент файловой системы, точкой входа в который является один из каталогов. Объединение сегментов HFS производится с помощью специальной операции "монтирования", выполняемой на этапе инициализации системы или динамически. Первым всегда монтируется сегмент, содержащий корневой каталог файловой системы (/), к которому затем могут добавляться другие сегменты. Создание и управление наборами данных HFS осуществляется стандартным компонентом z/OS DFSMS.
Рис. 5.27. Наборы данных HFS и файловая структура
Пользовательский интерфейс z/OS UNIX
Основой пользовательского интерфейса UNIX является командный интерпретатор shell, реализующий взаимодействие с пользователем через терминальное устройство. Shell поддерживает язык интерактивных команд, регламентированных стандартом POSIX 1003.2, и принимает запросы пользователя на выполнение утилит и приложений. Язык shell позволяет создавать и использовать командные файлы, называемые скриптами. В z/OS UNIX включены два типа командных интерпретаторов, базирующихся на известных в мире UNIX оболочках:
-
z/OS shell на основе UNIX System V shell и Korn shell;
-
tcshell на основе Berkeley C shell;
Для пользователей z/OS UNIX поддерживается несколько различных режимов интерактивного доступа к системным сервисам UNIX, как с помощью shell, так и некоторыми другими способами, представленными на рис. 5.28. Рассмотрим эти возможности в условиях TCP/IP-соединения с рабочей станцией (терминалом) пользователя.
Рис. 5.28. Режимы доступа пользователей к z/OS UNIX
Первый режим подключения является традиционным для пользователей z/OS и основан на использовании компонентов TSO/E и ISPF. В TCP/IP-сети терминалы TSO поддерживаются на основе специального протокола TN3270, представляющего собой адаптированный вариант стандартного протокола telnet. Терминалы TN3270 являются синхронными, то есть обслуживаются в режиме построчного ввода, что накладывает определенные ограничения на использование некоторых интерактивных действий пользователя по сравнению с классическими UNIX-системами.
В рамках сеанса TSO/ISPF пользователи располагают следующими средствами доступа к сервисам UNIX:
-
Команда OMVS - запускает для пользователя индивидуальную сессию командного интерпретатора shell, при этом обеспечивается:
-
поддержка большинства команд shell;
-
поддержка команд TSO;
-
поддержка команд shell для копирования (перемещения) данных между файлами HFS и наборами данных MVS;
-
использование текстового редактора ISPF OEDIT;
-
поддержка нескольких параллельных сессий.
-
Команда ISHELL (то есть ISPF shell) - запускает адаптированный в стиле диалогов ISPF интерфейс для доступа к файловой системе z/OS UNIX, с возможностью просмотра каталогов и выполнения стандартных операций над файлами (редактирование, удаление, переименование, копирование и т.д.); поддерживает средства запуска приложений и администрирования.
Команда OSHELL (скрипт REXX) - служит для выполнения команд shell и запуска приложений UNIX непосредственно из командной строки TSO/E.
Набор специальных команд TSO/E для работы с файлами UNIX и копирования (перемещения) данных между файлами HFS и наборами данных MVS (MKDIR, OGET, OPUT и т.д.).
Второй режим доступа к сервисам UNIX основан на подключении с использованием стандартных прикладных протоколов TCP/IP rlogin или telnet. Такой способ получил название "прямого подключения" к z/OS UNIX shell и поддерживает традиционные для UNIX асинхронные терминалы, обеспечивающие посимвольный ввод. Возможность прямого подключения требует инициализации и настройки серверных компонентов telnet и rlogin, а также разрешений на доступ в профиле RACF пользователя. В отличие от режима OMVS, здесь можно задействовать текстовый редактор vi, но ограничена поддержка команд TSO.
Третий режим доступа к сервисам UNIX основан на использовании ftp-протокола, также являющегося стандартным прикладным протоколом TCP/IP. В данном режиме поддерживается ряд команд, с помощью которых можно получать доступ к данным MVS и UNIX и производить операции по их копированию (перемещению) на рабочую станцию пользователя и обратно, а также запускать на выполнение пакетные задания подготовленные на рабочей станции.
Практическая часть
Запустите эмулятор терминала 3270 и подключитесь к TSO, используя логин TSO ID, выданный Вам преподавателем. Введите пароль и запустите интерфейс системных сервисов OS/390 UNIX shell. Если процедура подключения не вызвала интерфейс ISPF, вы должны увидеть командную строку “TSO READY”. Если же процедура подключения вызвала ISPF, то вы увидите экран, показанный на рисунке 6.
Рисунок 6 - Главное меню ISPF.
Если вы видите строку TSO READY, введите команду omvs, чтобы вызвать оболочку системных сервисов UNIX - USS shell. Если же вы находитесь в главном меню ISPF, то вы можете либо выйти из ISPF в TSO и затем ввести команду omvs, или же выбрать раздел 6 меню ISPF и в нем ввести команду omvs. Содержимое экрана должно быть таким, как показано на рисунке 7.
Рисунок 7 – Окно приветствия оболочки shell
Основные команды и их опции:
сd – перейти к указанному каталогу, если никакой каталог не указан, перейти в домашний каталог
ls - вывод содержимого каталога
ls –a - вывод содержимого каталога включая скрытые файлы
ls –l - вывод содержимого каталога вместе с атрибутами
pwd – вывести путь к текущему каталогу
touch – создание файла с указанным именем
cat – вывод содержимого одного или нескольких файлов в едином потоке
more – вывод содержимого файла
mkdir – создание каталога
rmdir – удаление каталога
rm – удаление файла
mv – перемещение каталога или файла
cp – копирование каталога или файла
ln – создание жёсткой ссылки на файл
ln –s – создание мягкой ссылки на файл
Просмотр состояния системы.
Для получения информации о состоянии системы существуют следующие команды:
id - Информация о пользователе и его группах.
uptime – Выводит время работы системы, количество пользователей работающих с системой и нагрузку за последние 5, 10 и 15 минут.
date – Выводит дату и время.
who – Выводит список пользователей работающих в системе.
history – Вывод истории использованных комманд.
Основы работы с файловой системой.
При обращении к файловой системе могут использоваться следующие псевдонимы:
~ - Домашний каталог пользователя
.. – Родительский каталог
. – Текущий каталог
Переход к домашнему каталогу:
cd /u/xxxxxx - где xxxxxx - имя пользователя.
cd ~
Переход к корневому каталогу:
cd /
Задание:
Перейти от пользовательского каталога в корневой любым способам и используя команду ls просмотреть его содержимое.
Пример:
cd /
ls –a
Перейти обратно в пользовательский каталог и создать в нём подкаталоги scripts и results. Создать в нём файл script1.sh
Пример:
cd ~
mkdir scripts
cd scripts
touch script1.sh
Последовательный запуск и запуск в фоновом режиме.
Следующие операторы использоваться для работы с программами:
& - Запуск программы в фоновом режиме (если возможно).
&& - Запуск второй команды при удачном завершении первой.
|| - Запуск второй команды после завершения первой.
Задание:
Запустить последовательность команд, используя указанные выше операторы.
Пример:
rm && uptime
who && uptime
rm || uptime
Посмотреть результаты выполнения команд.
Перенаправление ввода-вывода.
Перенаправление ввода-вывода как правило используется тогда, когда необходимо использовать результаты работы одной программы как входные данные другой, или сохранить их в виде текстового файла для дальнейшей обработки.
Для передачи результата работы одной программы на вход другой программы используется оператор |
Для перенаправления вывода в файл используется оператор >
При этом, файл будет перезаписан.
Если необходимо дописать перенаправленный вывод в конец файла
используется оператор >>
Задание: Вывести список файлов каталога /u используя программу more, а затем вывести список всех файлов домашнего каталога и перенаправить вывод в файл. Вывести содержимое этого файла.
Пример:
ls /u | more
ls –al > ~/results/result1
cat ~/results/result1
Ссылки и копирование файлов.
В UNIX подобных системах используется два вида ссылок, жёсткие (псевдонимы) и мягкие (символические) ссылки. Основное отличие между ними заключается в том, что жёсткая ссылка это дополнительное имя файла, а символическая просто хранит путь к данному файлу. Таким образом, можно переместить или удалить файл имеющий жёсткую ссылку и его содержимое останется доступным по ссылке. При использовании мягкой ссылки перемещение или удаление файла, сделает его содержимое недоступным. С другой стороны это позволяет заменить файл на который ссылается символическая ссылка другим файлом.
Для создания ссылки на каталог используются мягкие ссылки, создание жёстких ссылок на каталоги - невозможно.
Задание:
Создать жёсткую и мягкую ссылку на файл script1.sh . Вывести содержимое каталога с атрибутами файлов. Изучить номера inode исходного файла а так-же мягкой и жёсткой ссылки.
Пример:
ln script1.sh script1_h.sh
ln –s script1.sh script1_s.sh
ls
Удалить исходный файл script1.sh и попытаться вывести его содержимое используя жёсткую и мягкую ссылку.
Копировать файл script1_h.sh в файл script1.sh
Пример:
cp script1_h.sh script1.sh
Вывести содержимое каталога с атрибутами файлов.
Создание скриптов.
Используя команду echo и перенаправление вывода, создать скрипт выводящий информацию о системе. После этого изменить права файла скрипта, чтобы разрешить его выполнение, и запустить его.
Пример:
echo uptime >> script1.sh
echo uname -a >> script1.sh
echo date >> script1.sh