на тему рефераты
 
Главная | Карта сайта
на тему рефераты
РАЗДЕЛЫ

на тему рефераты
ПАРТНЕРЫ

на тему рефераты
АЛФАВИТ
... А Б В Г Д Е Ж З И К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Э Ю Я

на тему рефераты
ПОИСК
Введите фамилию автора:


Реферат: Администрирование локальных сетей


Каждый раз когда одна или больше команд (например связанные через пайп, или последовательно) выполняються шелл создает один блок команд назывемый заданием. Фактически каждая строка введенная в строке шелла является заданием. Задание может исполняться также в фоновом режиме если при запуске в конце стоял символ &. В этом случае после запуска шелл выдаст номер задания в своей таблице заданий и номер процесса. Просмотреть таблицу активных в данный момент заданий можно воспользовавшись командой jobs . После завершения фонового процесса шелл проинформирует пользователя об этом.

                % sleep 10 &

                [1] 73059

               

                % jobs

                [1]  + Running                sleep 10

               

                % ps

                PID TTY            TIME     COMMAND

71453 pts/2       0:00.03 -sh (csh)

73059 pts/2       0:00.00 sleep 10

73061 pts/2       0:00.00 ps

…. Спустя 10 секунд ….

%

[1]    Done                   sleep 10

2.3.6 Скрипты

сsh крипты могут как и Bourne Shell скрипты быть запущены двумя способами. Либо

                csh  script_file arg1 arg2 ….

либо установив атрибут исполняемости на файл и запустив его

            chmod +x script_file

            ./script_file arg1 arg2 ….

При этом первая строчка должна содкржать полный путь к интерпретатору с префиксом #! , в нашем случае она должна выглядеть так: #!/usr/bin/csh . Без этой строчки система в качестве интерпретатора скрипта запустит Bourne Shell что приведет к ошибке.

При запуске csh помещает аргументы скрипта в массив argv доступ к которым возможее через  argv[1], argv[2], … Аргумента argv[0] не существует, вместо этого имя скрипта помещается в аргумент $0.

Для проверки установлена ли данная переменная можно воспользоваться конструкцией

                $?variable

Чтобы узнать сколько значений хранит переменная нужно использовать следующий синтаксис:

            $#variable

Для доступа к компонентам переменной необходимо следовать следующему правилу:

                $variable[componet_number]

Также как и в Bourne Shell возможно использование переменных $n вместо argvn и $* вместо $argv. В отличии от команды read в Bourne Shell csh использует конструкцию $< для интерактивонго ввода.

Все вышесказанное  иллюстрируется на следующих примерах:

% echo $#var1

var1: Undefined variable.

% set var1=a

% echo $#var1

1

% set var1=(a b c)

% echo $#var1

3

% echo $var1[1]

a

% echo $var1[1-3]

a b c

% set a=($<)

xxx

% echo $a

xxx

Еще одно отличие csh от Bourne Shell заключается в том что с помощью фигурных скобок  { } можно проверять завершилась ли нормально команда помещенная в эти скобки. Например, следующий скрипт:

#!/usr/bin/csh

if ({ cat /tmp/aaa }) then

                        echo OK

endif

в случае успешного вывода содержимого файла /tmp/aaa напечатает в конец фразу OK.

2.3.7 Управляющие структуры скриптов.

В виду того что все управляющие структуры csh очень похожи на аналогичные в Bourne Shell кратко остановимся лишь на их синтаксисе.  По своему синтаксису они очень близки с аналогисными командами языка программирования С.

Условный оператор

if ( expression ) then

                        command1

            command2

                        …

else

                        command1

            command2

                        …

endif

Если требуется запуск лишь одной команды то endif можно не ставить:

            if ( expression ) command

Цикл foreach

Этот цикл является полным аналогом цикла for Bourne Shell.

foreach index_variable (loop_values)

                        command1

            command2

                        ….

end

Если в качестве команды внутри цикла встречается команда break то выполнение цикла прерывается, если команда continue то продолжается но уже со следующим из значений параметра взятым из loop_values.

Цикл while

while (expression )

                        command1

            command2

                        …

end

полный аналог цикла while в Bourne shell.

Команда switch

Очень похожа на аналогичный оператор в языке С, является аналогом команды case в Bourne shell

switch ( word )

case string1:

            command1

            command2

            ….

            breaksw

case string2:

            command1

            command2

            ….

            breaksw

…..

default:

            command1

            command2

            …

endsw

Команда безусловного перехода goto

 

label:

            command1

            command2

            …

            goto label

осуществляет переход на команду следующую за меткой указаной в команде (в данном случае на command1).

Обработка прерываний

onintr label

Эта команда позволяет обрабатывать прерывания скриптов. При выполнении прерывания она выполняет переход на команду стоящей непосредственно за меткой label (аналогично выполнению goto label)


Korn Shell и POSIX shell

2.4.1 Общее знакомство с шеллами

2.4.2 Старт шеллов

2.4.3 Грамматика шеллов

2.4.4 Алиасинг

2.4.5 Возможности подстановок

2.4.6 Командная строчка и история команд

2.4.6 Управление заданиями

2.4.7 Программирование скриптов

2.4.8 Дополнительные команды

2.4.1 Общее знакомство с шеллами

Оба этих шелла базируються на Bourne Shell, но помимо этого они унаследовали много полезных функций Csh. Они рактически на 95% совместимы вверх с Bourne Shell и большинство программ написанных на Bourne Shell будут исполняться на них без изменений. Также следует отметить тот факт что по скорости исполнения они оперережают Bourne Shell.

Основные возможности унаследованные от Csh

·     Буфер истории команд.

·     Алиасинг

·     Массивы

·     Целочисленная математика

·     Управление заданиями

2.4.2 Старт шеллов

В том случае если Korn или POSIX Shell являються логин-шеллами, после входа в систему и запуска они используют файл /etc/profile и файл .profile если последний существует в домашней директории пользователя. Независимо от того запускается ли шелл после логина или в любой другой момент времени, при старте он анализирует переменную окружения $ENV, которая обычно указывет на файл .profile или .kshrc. Если файл с именем указанным в этой переменной существует то он выполняется.


2.4.3 Грамматика шеллов

Как и Bourne Shell новые шеллы поддерживают пайпы,перенаправления ввода-вывода, последовательное выполнение команд используя разделители а также запуск программ в фоновом режиме. Единственное что стоит отметить это поддержка двунаправленных пайпов (co-process) которые будут рассмотрены позже.

Механизмы квотинга спецсимволов и расширения имен файлов посредством метасимволов в новых шеллах полностью аналогичны рассмотренным в Bourne Shell. Единственное что следует упомянуть, так это метасимволы   ~ , #  и % , свойства которых не были описаны раньше.

·     метасимвол # используется для задания комментариев. Все что следует за ним игнорируется интерпретатором комманд.

·     метасимвол ~ используется при раскрытия путей к файлам и директориям. При этом используются следующие правила:

тильда сама по себе или тильда до слеша / обозначает путь к домашнему каталогу (переменная окружения $HOME)

тильда до знака + раскрывается в текущий каталог (переменная окружения $PWD)

тильда до знака – раскрвывается в предыдущий рабочий каталог (переменная $OLDPWD)

и наиболее полезное правило: если после тильды идет строчка а затем слеш / то выполняется проверка вхождения этой строки в файл пользователей системы ( /etc/passwd ). В случае если эта сточка совпадает с именем пользователя из этого файла то результатом такого расширения пути станет домашний каталог пользователя взятый из этого файла.

·     Метасимвол % используется при управлении заданиями и будет рассмотрен позднее.

2.4.4 Алиасинг

Механизм алиасинга в новых шелах аналогичен Csh.

                alias                                         -выводит список всех установленных алиасов        alias word=command                 - устанавливает алиас word на команду command

                unalias word                              - снимает алиас word

                unalias  -a                                 - снимает все алиасы

alias –x word=command             - устанавливает алиас word на команду command с экспортом (только для ksh)

Отличительной особенностью ksh от POSIX Shella является возможность экспорта алиасов в другой шелл который не вытесняет текущий (для запуска используется системный вызов fork() на не exec как например в случае если скрипт начинается с #!/bin/…)

2.4.5 Возможности подстановок

К новым подстановкам параметров не рассмотреным при рассмотрении Bourne Shell можно отнести

${parameter#pattern}                  Если шаблон pattern равен началу параметра

${parameter##pattern}                parameter , то вырезать из параметра этот шаблон и результат присвоить выражению. В первой форме шаблон вырезается до первого совпадения, во второй – до последнего.

${parameter%pattern}                 Если шаблон pattern равен окончанию параметра

${parameter%%pattern}              parameter , то вырезать из параметра этот шаблон и результат присвоить выражению. В первой форме шаблон вырезается до первого совпадения, во второй – до последнего.

2.4.6 Командная строчка и история команд

Установив переменную окружения VISUAL на один из системных текстовых редакторов (vi, emacs, gmacs) можно получить возможность редактировать строку ввода используя команды выбраного редактора. При этом помимо редактирования текущей команды, можно выполнять перемещение по истории команд (клавиши ESC j ,ESC k). По умолчанию история команд хранится в файле .sh_history однако его можно изменить установив переменную окружения $HISTFILE . Количество хранимых команд определяется переменной $HISTSIZE. Двойное нажатие на клавишу ESC помогает раскрывать имена файлов в каталогах.

2.4.6 Управление заданиями

Задания в ksh и POSIX Shell имеют тот же смысл что и рассмотренные ранее в csh. Для управления заданиями испльзуется команда jobs . Запущенная без параметров она показвывает список заданий. Иногда возникает необходимость отложить на некоторое время выполнение текущего задания. Этого можно добиться послав сигнал SIGSTOP текущему процессу. Этого можно добиться комбинацией клавиш: Cntrl-Z.

Примечание: предварительно (обычно это ставиться в startup скриптах шеллов) должна быть выполнена команда  stty susp <Cntr-Z> которая связывает эту комбинацию клавиш с посылкой сигнала SIGSTOP процессу (генерация символа suspend).

Для перевода отложеного (приостановленого задания) в фоновый режим нужно воспользоваться командой bg

                bg %job_number           перевод задания с номером job_number  в фоновый режим

                bg %%                         перевод текущего задания фоновый режим

                bg %+                          перевод текущего задания фоновый режим

                bg                                перевод текущего задания фоновый режим

                bg %-                           перевод предыдущего задания фоновый режим

Для возврата задания в интерактывный режим нужно использовать команду fg. Синтаксис ее полностью аналогичный команде bg.

Встроенная в шелл команда kill допускает использования тех же аргументов что и bg и fg для посылки сигналов заданиям.

 

2.4.7 Программирование скриптов

Все основные управляющие структуры ksh и POSIX Shell полностью повторяют аналогичные в Bourne Shell. Поэтому остановимся более подробно на новых возможностях предоставляемых этими шелами.

Команда select

select parameter in words

do

            command_lines

done

Эта команда помогает организовать интерактивный диалог. Она выводит список слов words в виде меню с возможностью выбора, а после выбора пользователем элемента списка она запускает команды  из списка command_lines , при этом выбранное пользователем слово доступно командам из списка как параметр parameter.

Двунаправленные пайпы

Korn Shell имеет в своем арсенале механизм позволяющий порождать процессы-потомки соединенные пайпом с родительским шеллом. Стандартный ввод и стандартный потомка может быть доступен из родительского шела. Для создания двунаправленого пайпа нужно использовать конструкцию |& после запускаемой команды.Доступ к пайпу из скрипта может быть получен посредством команд print –p и read –p . Рассмотрим пример использования двунаправленых пайпов:

            #!/usr/bin/ksh

bc |&

read a b

print -p "$a * $b"

read -p mul

echo $mul

Замечания:

Использование двунаправленых пайпов оправдано лишь с командами которые работают с устройствами стандартного ввода и вывода, но не напрямую с терминалом (как например редактор vi).

Не существует способа закрыть двунаправленный файл, поэтому в них нельзя использовать команды требующие вначале получения символа конца файла EOF (например программа sort) прежде чем выдать результат.

Команда typeset (только в Korn Shell)

                typeset [-option ] [name[=value]] …]

Эта команда создает переменную, назначает ей значение и определяет ее тип. Основные опции команды:

                -i              переменная name имеет тип integer

                -r             переменная name является readonly

                -l              конвертировать все символы с верхнего регистра в нижний

                -u            конвертировать все символы с нижнего регистра в верхний

                -x            автоматический експорт переменной

                -R            выравнивание текста по правому краю

                -L            выравнивание текста по левому краю

Команда let

Эта команда практически аналогична команде expr в Bourne Shell и используется для вычисления в простых математических выражениях. Пример использования:

               

                $ x=10

$ let x=2*x+5-3/x

$ echo $x

25

Команда ulimit (только в Korn Shell)

 

ulimit [-f n ]

Эта команда задает ограничение n  блоков на файлы записанные на диск  порожденными процессами. Запущеная без аргументов показывет текущий лимит.

 

Массивы

Для доступа к елементам массива используют следующий синтаксис:

array_name [subscript]=value

например:

            $ a[0]=10

$ a[1]=xxx

$ a[2]=tt

$ echo ${a[1]}

xxx

$ echo ${a[*]}

10 xxx tt


Key Shell (keysh).

            Это меню-ориентированный интерактивный шелл разработанный компанией Hewlett-Packard для создания дружественного интерфейса к Korn Shell. Шелл содержит последовательности горячих клавиш для быстрого просмотра списка файлов, задач принтера и просмотра файлов, которые он автоматически транслирует в команды HP-UX.

Key Shell содержит все необходимые свойства и возможности Korn Shell (см. Korn Shell). Дополнительные возможности – шелл содержит интерактивную справку, горячие клавиши (видимые) , невидимые последовательности горячих клавиш, строку состояния, возможность конфигурирования.

Запуск и работа в Key Shell.

Шелл использует стандартные переменные среды, не требует дополнительной настройки поэтому, если ваша система сконфигурирована под какой-либо другой шелл вам достаточно набрать keysh для его запуска. При запуске шелла сверху вы видите приглашение $ (командная строка). Далее идет строка меню горячих клавиш, на клавиатуре для них соответственно, используются функциональные клавиши F1 – F8. Следует иметь ввиду – что показывается несколько горячих клавиш, а меню разбито на несколько строк по вертикали и переключение между ними осуществляется клавишей F8. Настройки шелла хранятся в /etc/keyshrc или .keyshrc общие и для каждого пользователя соответственно. Нажатие соотвествующей клавиши соответственно приводит к тому что в промпте появляется командная строка, например, F3 выдает команду Change_dir которая соответствует стандартной cd. Убрать соответствующую команду можно ключом Delete_line. Выход из всех интерактивных редакторов осуществляется клавишей q. Использование видимых последовательностей горячих клавиш достаточно просто и значительно облегчается благодаря наличию интерактивной справки.

Неявные (невидимые) ключи

Кроме всего прочего, keysh позволяет обращаться к стандартным командам HP-UX с использованием своего формата и горячих ключей. Допустим нам необходимо посмотреть календарь на определенный месяц. Команда cal выдает текущий месяц. Cal for_month позволяет выдает приглашение нажать горячую клавишу для выбора желательного месяца и, таким образом, позволяет избежать изучения формата команды cal. Многострочное мменю подчиняется тем же законам, что и для видимых последовательностей. Кроме этого, вы так же можете пользоваться стандартными командами HP-UX, если вас не устраивает то что выдается в горячих клавишах или вам нужен другой формат, вы просто ингнорируете то, что выводит подсказка и жмете возврат каретки в конце своей командной строки.

Настройка keysh

Любые ключи так же можно добавить, фактически это есть соответствие алиасам, например, для шелла bash. Пример: Keysh_config softkey add hostname with_label hname from_user mav

Пример в объяснении не нуждается, поскольку он был создан с использованием интерактивной подсказки шелла и может быть легко восстановлен пошагово. Для невидимых горячих клавиш можно создать такую же командную строку с ключвым словом invisible, например, Keysh config  softkey  add  invisibles.

Перед тем как добавлять свой ключ следует все-таки посмотреть стандартніе последовательности, следует заметить, ято в keysh описаны практически все стандартные последовательности и команды HP-UX поэтому, если вы не настроили какое-нибудь специфическое ПО от третьего производителя, то редактированием последовательностей и не стоит заниматься. Ошиюочно созданный ключ можно удалить последовательностью Keysh config  softkey  delete.

Иерархия горячих клавиш, файлы определений.

Когда создаются новые ключи в keysh, фактически это есть добавление узла в иерархию узлов (с которыми связаны функциональные клавиши). В системе файл настроек и иерархии находится здесь /usr/keysh/C/softkeys.

Каждый узел ключа имеет следующие свойства:

name  (обязательное) это командная строка для доступа к невидимому ключу, для видимого ключа это его метка

type (обязательное для подменю) свойство поределяет то, является ли подменю командной строкой или параметром

attributes (необязательное) определяет поведение горячей клавиши и то как она интерпретируется.

editrules (необязательное) это часть поля атрибутов, которая определяет то, как горячая клавиша интерпретируется в команду HP-UX

Общий формат горячей клавиши, таким образом, будет таким

     softkey name

        attributes

        editrules ;

Пример (определение последовательности Copy_files)

softkey Copy_files command

     editrule { append("cp"); }

Подменю будет соответствовать более низкому уровню иерархии и определяется таим образом:

{

        type name

        attributes

        editrules

        ;

        .

}

Если узел (клавиша) ассоциирован с подменю, то в фигурных скобках идет определение дочерних узлов. Дочерние узлы при этом могут быть двух типов – литерал или метка, второй – строка – которая содержит команду или опции команды.

Пример – горячие клавиши для вызова последовательности Copy_files]

          {

            string <files> disable -1 enable all

            editrule { append(argument); }

            required "Enter the name of the file(s) to copy."

            ;

            option to disabled

            required "Enter the name of the file(s) to copy;

                      then select \"to\"."

            {

              string <dest>

              editrule { append(argument); }

              required

                "Then, enter the name of the file or directory to

                 copy the file(s) to."

              ;

            }

          }


3.   Администрирование системы X Window

4.1   Базовые концепции X Window

4.2   Компоненты системы X Window

4.3   Предварительное конфигурирование

4.4   Старт X Window

4.5   X ресурсы

4.6   Управление шрифтами

Базовые концепции X Window

В HP-UX 10.20 X server это программа которая стартует автоматически после старта системы непосредственно перед тем как будет запущено окно логина. Она захватывает управление графическим дисплеем, клавиатурой и мышью и все дальнейшее взаимодействия между программами и этими устройствами происходит с участием Х сервера.

Х клиент – это программа которая написана для взаимодействия с Х сервером. Учитывая сетевые возможности сисметы Х Window клиент и сервер могут быть физически разнесены и общаться через сеть.

Несмотря на то что Х сервер использует мультизадачные свойства ОС в заданный интервал времени только одно графическое окно может обрабатывать пользовательский ввод, это окно называется активным.

Компоненты системы X Window

Среди компонент системы можно в первую очередь выделить:

·     Компьютерное оборудование

·     Операционную систему

·     Х сервер обеспечивающий взвимодействие меджу клиентами и дисплеем

·     Клиентские программы которые включают

·     Оконный менеджер для управления поведением окон

·     И непосредственно прикладные программы

В системе X Window очень часто употребительным термином является термин “дисплей”. Чтобы не путать его с монитором (телевизор к которому подкючается компьютер) раскроем его смысл. Дисплей это принципиально устройство вывода информации. Дисплей – это логическое понятие и один дисплей может включать в себя несколько физических мониторов.

Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21


на тему рефераты
НОВОСТИ на тему рефераты
на тему рефераты
ВХОД на тему рефераты
Логин:
Пароль:
регистрация
забыли пароль?

на тему рефераты    
на тему рефераты
ТЕГИ на тему рефераты

Рефераты бесплатно, реферат бесплатно, курсовые работы, реферат, доклады, рефераты, рефераты скачать, рефераты на тему, сочинения, курсовые, дипломы, научные работы и многое другое.


Copyright © 2012 г.
При использовании материалов - ссылка на сайт обязательна.