ить "список_команд", запустив sh в ка- честве подпроцесса. {список_команд;} выполнить "список_команд". К зарезервированным словам интерпретатора sh относятся следующие слова: "if", "then", "else", "elif", "fi", "case", "in", "esac", "for", "while", "until", "do", "done", "{", "}". Они распознаются только в том слу- чае, если являются первым словом команды и не заключе- ны в кавычки. ПОДСТАНОВКА РЕЗУЛЬТАТОВ ВЫПОЛНЕНИЯ КОМАНД: 133 AПK.00210-01 33 01-5 Если команда заключена в обратные апострофы (``), она выполняется и замещается в командной строке результа- том своего выполнения. Этот результат может использо- ваться как часть слова или как целое слово; символы новой строки отбрасываются. ПОДСТАНОВКА ЗНАЧЕНИЙ ПАРАМЕТРОВ: Символ "$" указывает на выполнение подстановки значе- ний параметров. Команда set присваивает значения пози- ционным параметрам. Переменные устанавливаются следу- ющим образом: имя = значение [имя = значение] ... ${параметр} "Параметр" может быть трех видов: 1) последова- тельность букв, цифр или символов подчеркивания (т.е. определенное "имя"), 2) цифра, 3) один из символов * @ # ? - $ !. В результате выполнения данного макровызова осуществляется подстановка значения параметра (если оно определено). Фигур- ные скобки используются только в том случае, ес- ли после "параметра" следует буква, цифра или символ подчеркивания, не являющиеся частью его имени. Если "параметр" представляет собой цифру, то он считается позиционным. Если "параметром" является символ * или @, подставляются значения всех позиционных параметров (кроме 0), разделен- 134 AПK.00210-01 33 01-5 ные пробелами. ${параметр-слово} Если "параметр" определен, подставить его значе- ние, иначе подставить "слово". ${параметр=слово} Если "параметр" не определен, присвоить ему зна- чение "слова" и выполнить подстановку этого зна- чения. Значения позиционных параметров таким способом определяться не могут. ${параметр?слово} Если "параметр" определен, подставить его значе- ние; иначе напечатать "слово" и прекратить вы- полнение командного файла. Если "слово" от- сутствует, печатается стандартное диагностичес- кое сообщение. ${параметр+слово} Если "параметр" определен, подставить "слово", в противном случае ничего не подставлять. В приведенных конструкциях команда, определяемая "словом", не будет выполняться, если "слово" не явля- ется подставляемым значением. (Таким образом, в приме- ре "echo {d-`pwd`}" команда pwd будет выполняться только в том случае если параметр d не определен). Следующие "параметры" автоматически определяются ин- терпретатором sh: 135 AПK.00210-01 33 01-5 # Количество позиционных параметров; - Ключи, которые вводятся при вызове или с помощью команды set; ? Код завершения последней выполненной команды; $ Номер текущего процесса; ! Номер процесса последней фоновой команды. Следующие "параметры" используются, но не определяются интерпретатором: HOME Параметр содержит полное имя справочника (по умолчанию - имя регистрационного справочника) для команды cd, вызываемой без параметров; PATH Список имен справочников, в которых производится поиск команд, отсутствующих в текущем справочни- ке; MAIL Если эта переменная определяет имя файла для приема почты, то sh будет информировать пользо- вателя о поступлении почты в указанный файл; PS1 Подсказка интерпретатора при вводе команды, по умолчанию "$"; PS2 Подсказка интерпретатора для продолжения ввода (если команда не была завершена на предыдущей строке), по умолчанию ">"; 136 AПK.00210-01 33 01-5 IFS Символы-разделители командной строки; обычно пробел, знак табуляции и символ новой строки. ИНТЕРПРЕТАЦИЯ РАЗДЕЛИТЕЛЕЙ: В строках, полученных после подстановки значений пара- метров и результатов выполнения команд, осуществляется поиск символов-разделителей (определенных в $IFS). В местах нахождения таких символов строки разбиваются на отдельные параметры. Пустые параметры, определенные явно (" " или ' '), сохраняются. Пустые строки, полу- ченные в результате выполнения параметров, у которых нет значений, отбрасываются. ГЕНЕРАЦИЯ ИМЕН ФАЙЛОВ: После подстановок и интерпретации символов- разделителей в каждом слове команды осуществляется поиск символов *, ?, и [. Если встречается один из этих символов, то данное слово считается образцом и заменяется соответствующим списком имен файлов, распо- ложенных в алфавитном порядке. Если образцу не соот- ветствует ни одно из указанных имен файлов, то это слово остается неизменным. Символ "." в начале имени файла должен указываться явно. * Соответствует любой строке, в том числе пустой; ? Соответствует любому одиночному символу; [...] Соответствует любому из перечисленных символов. 137 AПK.00210-01 33 01-5 Пара символов, разделенная символом "-", соот- ветствует любому символу из указанного лексичес- кого промежутка. ЭКРАНИРОВАНИЕ: Следующие символы имеют специальное значение для ин- терпретатора sh и вызывают прерывание выполнения ко- манды, если они не были экранированы: ";", "&", "(", ")", "|", "<", ">", новая_строка, пробел, табуляция. Символ может быть экранирован, если ему предшествует . Для записи длинных конструкций более чем в одной строке, специальное значение символа новой строки "0 отменяется. Все символы, заключенные в апострофы (' '), за исключением самого апострофа, являются экрани- рованными. Подстановка значений параметров и результа- тов выполнения команд выполняется внутри кавычек (" "). Символ экранирует символы , `, " и $. "$*" эквивалентно "$1 $2 ..." "$@" эквивалентно "$1" "$2" ... . ПОДСКАЗКИ: В интерактивном режиме, перед считыванием команды, sh печатает значение переменной PS1 (по умолчанию - $). Если введенная строка содержит синтаксически незавер- шенную конструкцию, то для продолжения ввода интерпре- татор выдает в качестве подсказки значение переменной PS2 (по умолчанию - символ >). 138 AПK.00210-01 33 01-5 ВВОД-ВЫВОД: Для задания файлов ввода/вывода используются специаль- ные конструкции. Они могут находиться в любом месте простой команды. Перед использованием "слова" или "цифры" выполняются все необходимые подстановки. <слово Файл "слово" назначается стандартным файлом вво- да (дескриптор файла 0). >слово Файл "слово" назначается стандартным файлом вы- вода (дескриптор файла 1). Если файл не су- ществует, он создается; в противном случае он усекается до нулевой длины. >>слово Файл "слово" назначается стандартным файлом вы- вода. Если файл существует, выводимая информация добавляется к его содержимому; в противном слу- чае файл создается. <<слово Ввод осуществляется до тех пор, пока не встреча- ется последовательность символов "слово". Полу- ченный локальный файл является стандартным файлом ввода. Если какой-либо символ "слова" эк- ранирован, не производится никакой интерпретации символов локального файла; в противном случае 139 AПK.00210-01 33 01-5 производится подстановка значений параметров и результатов выполнения команд, символ новой строки игнорируется, а знак используется для экранирования символов , $, ` и первого символа "слова". <&цифра Информация, записываемая в файл с дескриптором "цифра", передается в стандартный файл вывода. >&цифра Стандартным файлом ввода является файл с дескриптором "цифра". <&- Стандартный файл ввода закрыт на запись. >&- Стандартный файл вывода закрыт на чтение. Если какой-либо из указанных конструкций предшествует цифра, то дескриптор создаваемого файла определяется этой цифрой (вместо 0 или 1 по умолчанию). ВСТРОЕННЫЕ КОМАНДЫ: Встроенные команды практически не отличаются по своим своиствам от остальных команд системы, за исключением того, что для них обычно нельзя переопределить стан- дартные файлы ввода/вывода. : Команда не производит никаких действий, за исключением подстановки значений макроперемен- ных. Код завершения равен нулю. 140 AПK.00210-01 33 01-5 . файл Выполнить командный "файл" в рамках текущего процесса. cd [справочник] Об'явить указанный "справочник" текущим. Если параметр не задан, в качестве имени справочника используется значение макропеременной HOME. eval [команда ...] Провести все макроподстановки и выполнить "ко- манду ...". exec [команда ...] Текущий процесс заменить процессом выполнения "команды ...". Допускается переопределение стан- дартных файлов ввода/вывода. exit [N] Прерывание выполнения текущего процесса с кодом завершения N. Если N отсутствует, код завершения определяется кодом завершения последней выпол- ненной команды. export [имя...] Указанные макропеременные автоматически вводятся в среду выполняемых впоследствии команд. Если параметры не заданы, выдается список имен экспортируемых макропеременных. login [пар ...] 141 AПK.00210-01 33 01-5 Регистрация пользователя в системе без создания нового процесса (эквивалент команды "exec login пар..."). newgrp [пар ...] Замена текущего идентификатора группы пользова- телей (эквивалент команды "exec newgrp пар..."). read имя ... Из стандартного файла ввода считывается одна строка. Затем макропеременным "имя ..." последо- вательно присваиваются значения слов, составля- ющих эту строку. Код завершения команды равен нулю во всех случаях, кроме тех, когда список параметров длиннее, чем число слов в считанной строке. readonly имя ... Запрещается переопределение перечисленных макропеременных. Если параметры не заданы, выда- ется список всех макропеременных, определенных как "readonly" (только для чтения). set [-eknptuvx [пар ...]] Устанавливает режимы работы интерпретатора sh. Могут задаваться следующие ключи: -e В неинтерактивном режиме вызывает немед- ленное прерывание при обнаружении ошибки в выполнении команды; 142 AПK.00210-01 33 01-5 -k Все определенные макропеременные экспорти- руются в среду запускаемых процессов; -n Производит только синтаксическую проверку команд; -t Прерывает выполнение процесса после того, как будет считана и выполнена одна коман- да; -u Устанавливает режим диагностики ошибки при попытке использовать неопределенные пере- менные; -v Устанавливает режим печати вводимых строк по мере их считывания; -x Распечатывает команды и их параметры по мере выполнения; - Отменяет ключи -x и -v. Установленные ключи содержатся в макропеременной "-". Остальным параметрам присваиваются значения позицион- ных параметров "1, 2, ...". Если параметры не заданы, печатается список значений всех макропеременных; shift Позиционным параметрам "2, 3, ..." присваиваются значения параметров "1, 2, ..." соответственно; times Выдается время, затраченное пользователем и сис- темой на выполнение процесса; 143 AПK.00210-01 33 01-5 trap [команда] [N ...] При получении перечисленных сигналов выполняется указанная "команда"; umask [ddd] Маске создания файлов пользователя присваивается восьмеричный код ddd . Если параметр ddd опущен, выдается текущеее значение маски; wait [n] Ожидает окончания выполнения процесса с номером n и присваивает его код завершения макроперемен- ной "?". ВЫЗОВ ИНТЕРПРЕТАТОРА: Если первым символом параметра "0" является знак "-", то команды считываются из файла .profile. При вызове могут указываться следующие ключи: -c строка Команды считываются из "строки"; -s Команды считываются из стандартного файла ввода. Сообщения интерпретатора записываются в стан- дартный файл диагностик (файл с дескриптором 2); -i Интерактивный режим работы интерпретатора. ФАЙЛЫ: $HOME/.profile /tmp/sh* 144 AПK.00210-01 33 01-5 /dev/null ДОПОЛНИТЕЛЬНЫЕ ССЫЛКИ : csh, test, exec ДИАГНОСТИКА: Ошибки, обнаруженные интерпретатором (например, син- таксические ошибки), приводят к тому, что sh возвраща- ет код завершения, не равный нулю. Если при этом режим работы - неинтерактивный, то выполнение командного файла прекращается. Если же режим работы интерактив- ный, sh возвращает код завершения последней выполнен- ной команды. 145 AПK.00210-01 33 01-5 ИМЯ: size - сообщить размер об'ектного файла ФОРМАТ: size [обфайл...] ОПИСАНИЕ: Команда size печатает (десятичное) число байтов, зани- маемое текстовым сегментом, сегментом данных и bss, а также их сумму в десятичном и восьмеричном коде для каждого об'ектного файла "обфайл", указанного в пара- метрах. 146 AПK.00210-01 33 01-5 ИМЯ: sleep - задержать выполнение на заданный интервал ФОРМАТ: sleep время ОПИСАНИЕ: Команда sleep задерживает выполнение на "время" секунд. Она используется для выполнения команды через определенный промежуток времени, например: (sleep 105; команда) или для выполнения команды время от времени, например, while true do команда sleep 37 done ЗАМЕЧАНИЯ: "время" должно быть меньше 2 147 483 647 секунд. 147 AПK.00210-01 33 01-5 ИМЯ: soelim - фильтр для текстовых файлов в формате pif. ФОРМАТ: soelim [файл...] ОПИСАНИЕ: Команда переписывает файлы (по умолчанию стандартный файл ввода) в стандартный файл вывода, заменяя дирек- тивы pif вида: .so некоторый_файл содержимым указанных файлов. Поскольку такие програм- мы, как tbl, обычно не делают этого, команда soelim необходима, когда требуется располагать отдельные таб- лицы документа в различных файлах. Заметьте, что это включение может подавляться пос- редством использования "'" вместо ".", т.е. 'so /usr/lib/tmac.s Пример использования команды soelim: soelim exum?.n | tbl | pif -ms | col | lpr ДОПОЛНИТЕЛЬНЫЕ ССЫЛКИ : colcrt, more ЗАМЕЧАНИЯ: Перед именем файла должен быть ровно один пробел, а после него не должно быть пробелов. 148 AПK.00210-01 33 01-5 ИМЯ: sort - сортировка и слияние файлов ФОРМАТ: sort [-mubdfinrtxz] [ +поз1 [-поз2] ]... [-o имя] [-T справочник] [имя]... ОПИСАНИЕ: Команда sort сортирует совместно строки всех указанных файлов и записывает результат в стандартный файл выво- да. Если входные файлы не заданы (или указан ключ "-"), сортируется информация из стандартного файла ввода. По умолчанию при сортировке рассматривается вся стро- ка. Стандартным порядком сортировки является афлавит- ный (для букв русского и латинского алфавита) и лекси- кографический побайтный в соответствии с численными значениями кодов КОИ-8 (для всех остальных символов). Для изменения правил сортировки используется ключ, ко- торый может содержать следующие символы: b Игнорировать ведущие пробелы и символы табуляции при сравнении полей; d "Словарный порядок": при сравнении учитываются только буквы, цифры и пробелы; f Не различать строчные и прописные буквы; i Игнорировать символы КОИ-8 с кодами вне диапазо- 149 AПK.00210-01 33 01-5 нов 040-0176 и 0300-0376 при текстовых сравнени- ях; n Строки начинающиеся с чисел (возможно с пред- шествующими пробелами), сортируются по арифмети- ческому значению. Ключ "n" подразумевает уста- новку ключа "b"; r Изменить порядок сортировки на обратный; tx "Символом табуляции", разделяющим поля, является символ "x"; z Сортировать в соотвествии с численным значением байтов. Запись "+поз1 -поз2" определяет часть строки, которая рассматривается при сортировке. Сортировка начинается с позиции "поз1" и заканчивающимся перед позицией "поз2". Каждый из параметров "поз1" и "поз2" имеет вид "m.n", после чего могут следовать один или несколько флагов bdfinr, причем m означает количество полей, ко- торое должно быть пропущено с начала строки, а n озна- чает количество символов, которое должно быть пропуще- но после этого. Если присутствуют какие-либо флаги, они отменяют глобальные ключи упорядочивания для данной части строки. Если действует ключ "b", "n" отсчитывается от первого (отличного от пробела) симво- ла поля; "b" добавляется независимо к "поз2". Отсутствие ".n" означает ".o", отсутствие "поз2" озна- 150 AПK.00210-01 33 01-5 чает конец строки. При наличии ключа "-tx" полями счи- таются последовательности символов, разделяемые симво- лом "x", если ключ "-tx" не задан в качестве полей рассматриваются последовательности отличных от пробелов символов, разделенные пробелами. Если имеются несколько ключей сортировки, последующие ключи сравниваются только после того, как предыдущие ключи оказались равны. Строки, которые при сравнении оказались равны, упорядочиваются с учетом всех байтов. Распознаются также следующие необязательные параметры: c Проверить, является ли входной файл отсортиро- ванным в соответствии с заданными правилами упорядочивания; не выдавать результат, если файл не отсортирован; m Только слияние, входные файлы уже отсортированы; o Следующий параметр представляет собой имя выход- ного файла, который должен использоваться вместо стандартного файла вывода. Этот файл может сов- падать с одним из входных файлов; T Следующий параметр представляет собой имя спра- вочника, в котором должны создаваться временные файлы; u Из каждой группы одинаковых строк оставить только одну. Игнорируемые байты и байты вне клю- 151 AПK.00210-01 33 01-5 чей не участвуют в сравнении. ПРИМЕРЫ: Выдать в алфавитном порядке все различные слова в файле "список". Слова с прописными буквами отличаются от слов со строчными буквами. sort -u +0f +0 список Выдать содержимое файла /etc/passwd, отсортированное по номерам идентификаторов пользователей (третье из разделенных двоеточиями полей): sort -t: +2n /etc/passwd Выдать первое вхождение каждого месяца в уже отсорти- рованном файле (dates). Ключи "-um" с единственным входным файлом обеспечивают выбор представителя из каждой группы одинаковых строк. sort -um +0 -1 dates ДОПОЛНИТЕЛЬНЫЕ ССЫЛКИ : uni, comm, rev, join ДИАГНОСТИКА: Выдается сообщение и ненулевой код возврата при раз- личных ошибочных ситуациях и при неупорядоченности, обнаруженной при наличии ключа "-c". ЗАМЕЧАНИЯ: Слишком длинные строки усекаются без предупреждения. 152 AПK.00210-01 33 01-5 ИМЯ: split - разбить файл на части ФОРМАТ: split [-n] [файл [имя]] ОПИСАНИЕ: Команда split считывает "файл" и разбивает его на файлы, содержашие по n строк исходного файла каждый (по умолчанию - 1000). Если исходный файл содержит число строк не кратное n, последний результирующий файл может быть короче. Имя первого выходного файла представляет собой "имя" с добавкой "aa", и так далее в лексикографическом порядке. Если выходное имя не за- дано, по умолчанию принимается х. Если входной файл не указан или вместо него указывает- ся "-", используется стандартный файл ввода. 153 AПK.00210-01 33 01-5 ИМЯ: st - выдать на дисплей информацию о состоянии задания ОС ЕС. ФОРМАТ: st [идвм] имя_задания ОПИСАНИЕ: Команда st посылает запрос ОС ЕС через ПДП для получе- ния информации о состоянии задания, имя которого ука- зано в параметре "имя_задания". Виртуальная машина идентифицируется параметром "идвм", значение по умол- чанию complex1. Команда не снижает интерактивности работы за счет того, что формирует запрос к ПДП в фоновом режиме, ко- торый в свою очередь ожидает обратной связи в течении минуты. Если за это время ответа из ПДП не поступает, выдается диагностическое сообщение и команду st нужно повторить вновь. ФАЙЛЫ: /dev/smsg? 154 AПK.00210-01 33 01-5 ИМЯ: strip - удалить таблицу символов. ФОРМАТ: strip имя ... ОПИСАНИЕ: Команда strip удаляет таблицу символов и биты переме- щения, которые обычно присоединяются к выводу ас- семблера и редактора связей. Это полезно для экономии места после того, как программа была отлажена. Действие команды strip такое же, как использование ключа "-s" в команде ld. ДОПОЛНИТЕЛЬНЫЕ ССЫЛКИ : ld 155 AПK.00210-01 33 01-5 ИМЯ: stty - установить режим работы терминала. ФОРМАТ: stty [режим ...] ОПИСАНИЕ: Команда stty устанавливает определенные режимы вво- да/вывода для терминала пользователя. При отсутствии параметров она сообщает текущее состояние режима. Командой устанавливаются следующие режимы: even разрешить контроль по четности; -even заблокировать контроль по четности; odd разрешить контроль по нечетности; -odd заблокировать контроль по нечетности; Для полного отключения нужно указать "-even -odd". raw режим непосредственного ввода (нет забоя (kill), удаления (erase), прерывания (quit), конца пере- дачи (EOT); бит контроля по паритету возвращает- ся назад); -raw отмена режима непосредственного ввода; cbreak делать каждый символ доступным read(2) по мере поступления; нет забоя (kill) и удаления (erase); 156 AПK.00210-01 33 01-5 -cbreak делать символы доступными для read только после получения символа новой строки; -crmod строки на экране заканчиваются только символами новой строки; crmod допускается употребление символа возврата карет- ки (CR) вместо символа новой строки (NL); вместо возврата каретки или новой строки выводятся сим- волы возврат каретки - перевод строки (CR-NL); echo отображать в эхо-режиме вводимый символ; -echo не отображать символы в эхо-режиме; lcase преобразовывать символы верхнего регистра в сим- волы нижнего регистра; -lcase не выполнять преобразования регистра символов; -tabs заменять при печати символы табуляции пробелами; tabs сохранять символы табуляции; cyrill терминал имеет русские символы; -cyrill терминал не имеет русских символов; 157 AПK.00210-01 33 01-5 icyrill режим работы клавиатуры (русский/латинский) ус- танавливается от самой клавиатуры (Электроника 15 ИЭ 0013, клавиатура в "тестовом" режиме); -icyrill режим работы клавиатуры (русский/латинский) ус- танавливается от линии (Электроника 15 ИЭ 0013, клавиатура в "нормальном" режиме); Клавиатуру рекомендуется переключать в "тестовый" режим. dec установить символы забоя, удаления и прерывания в стиле ОС RSX-11, RT-11: ("забой", <control>u, <control>c). ek то же, что "dec". unix установить символы забоя, удаления и прерывания в стиле ОС UNIX: ("#", "@", <забой>). Символом "quit" устанавливается <control> . erase c рассматривать символ c как символ уничтожения. Символ уничтожения может также иметь вид ^x, что аналогично <ctrl>x; kill c рассматривать символ c как символ забоя строки. Здесь также действительна форма ^х; intr c 158 AПK.00210-01 33 01-5 рассматривать символ c как символ прерывания "interrupt". Здесь также действительна форма ^х; quit c рассматривать символ c как символ прерывания с созданием образа памяти "core". Здесь также дей- ствительна форма ^х; nl cr ht vt n установить задержку соответствующего движения курсора на n тиков; width n установить ширину страницы (длину строки) в n символов для автоматического переноса строки; lengh n устанoвить длину страницы в n строк, так чтобы вывод был постраничным; если задано length 0, деление на страницы прекращается; score стирание символов с экрана при забое (kill) и удалении (erase); -score отмена режима score; indctl выдавать control-символы в эхо-режиме, как ^<char + 0141>; 159 AПK.00210-01 33 01-5 -indctl отмена режима indctl; hup прекращает передачу данных по телефонному каналу связи при завершении сеанса; -hup не прекращает передачу данных по телефонному ка- налу связи при завершении сеанса; 0 немедленно прекращает телефонную связь; extb speed устанавливает скорость линии связи с терминалом в бодах равную "speed". Аргумент "speed" может принимать значения: 75, 110, 134, 150, 200, 300, 600, 1200, 1800, 2400, 4800, 9600 (данные ско- рости поддерживаются интерфейсами dh и dz); cro cr1 cr2 cr3 выбирает время задержки для возврата каретки; nl0 ln1 nl2 nl3 выбирает время задержки для подачи на строку. ДОПОЛНИТЕЛЬНЫЕ ССЫЛКИ : tty, ioctl, tabs. 160 AПK.00210-01 33 01-5 ИМЯ: su - временно заменить идентификатор пользователя. ФОРМАТ: su [идентификатор_пользователя] ОПИСАНИЕ: Команда su порождает новый процесс интерпретатора ко- мандного языка с новым значением идентификатора поль- зователя. Если у пользователя с заказанным идентифика- тором существует пароль, он запрашивается и команда выполняется только в случае удачного ответа. Новый идентификатор пользователя используется пока не окон- чен сеанс работы с порожденным интерпретатором команд. Если идентификатор пользователя в команде su не ука- зан, то используется идентификатор супер-пользователя (root). Для того, чтобы как-то выделить работу в при- велегированном режиме, sh меняет подсказку на "#". ДОПОЛНИТЕЛЬНЫЕ ССЫЛКИ : sh 161 AПK.00210-01 33 01-5 ИМЯ: sum - контрольная сумма и число блоков файла ФОРМАТ: sum file ... ОПИСАНИЕ: Sum вычисляет и выдает 16-битовую контрольную сумму и размер в блоках для заданных файлов. Эта команда обыч- но используется для обнаружения неверных мест или оп- ределения достоверности файла, передаваемого по линии передачи. ДОПОЛНИТЕЛЬНЫЕ ССЫЛКИ : wc ДИАГНОСТИКА: read error Ошибка чтения. При работе со специальными файла- ми может выдаваться при достижений конца файла (например, при попытке чтения блока, несуществу- ющего для данного типа диска). В этом случае, появления подобной диагностики не является сиг- налом о неуспешном завершении команды. 162 AПK.00210-01 33 01-5 ИМЯ: svc - выдать число системных вызовов. ФОРМАТ: svs программа [аргументы] ОПИСАНИЕ: svc выполняет программу "программа" с аргументами "ар- гументы" и выдает время начала работы каждого систем- ного вызова. Результат записывается в стандартный файл ошибок, для того, чтобы его можно было просмотреть после окончания пpoгpaммы. Программа time сообщает пользовательское время и время системы, затраченное на выполнение программы. Команда svc дает более полное представление o тoм, нa чтo этo вpeмя былo пoтpaчeнo. Команда mon используется для по- лучения более полной информации о времени пользовате- ля. 163 AПK.00210-01 33 01-5 ИМЯ: sysname - выдать имя ядра системы. ФОРМАТ: sysname ОПИСАНИЕ: Команда sysname печатает имя активного ядра системы ДЕМОС. ДОПОЛНИТЕЛЬНЫЕ ССЫЛКИ: ipl 164 AПK.00210-01 33 01-5 ИМЯ: tail - выдача части файла ФОРМАТ: tail [+-число[lbc]] [файл] ОПИСАНИЕ: Команда tail выдает указанный файл в стандартный файл вывода, начиная с заданного места. Если не указано имя файла, используется стандартный файл ввода. Копирование начинается с точки, находящейся на расто- янии "+число" от начала или "-число" от конца ввода. "Число" выражается в единицах строк, блоков или симво- лов в соответствии с заданными параметрами "l", "b" или "c". Если единицы не указаны, отсчет ведется в строках. ДОПОЛНИТЕЛЬНЫЕ ССЫЛКИ : dd ЗАМЕЧАНИЯ: Оставшиеся части файлов, отсчитывающиеся от конца файла, хранятся в буфере и поэтому ограничены в длине. Различные ошибки могут происходить при работе со спе- циальными файлами. 165 AПK.00210-01 33 01-5 ИМЯ: tape - закрепление и освобождение магнитных лент ФОРМАТ: tape [-muwq] [-nl] [-blp] [-sl номер_файла] [-d плотность] [-c ко- мандная_строка] серийный_номер ОПИСАНИЕ: Команда используется для передачи характеристик ленты, используемой в обмене данными. Операции ввода-вывода моделируются файлами накопления, куда предварительно постутают данные, считанные с ленты драйвером устрой- ства или в ожидании освобождения драйвера для записи на ленту. опции команды: -m смонтировать ленту. Действие режима по умолча- нию, если отсутствует опция -u; -u демонтировать ленту. Режим отменяет запрос мон- тирования, если лента еще не смонтирована. Опция не совместима со всеми остальными; -w смонтировать ленту для записи. Отсутствие опции монтирует ленту только в режиме чтения; -q опция выключает режим уведомления распределением устройств; -nl должна использоваться лента без меток. Ленты с 166 AПK.00210-01 33 01-5 метками будут разгружаться; -blp опция задает режим обхода обработки меток на ленте. Метки ленты рассматриваются как собствен- но файлы; -sl лента должна иметь стандартные метки в формате ОС ЕС, "номер_файла" указывает номер файла на ленте; -d устанавливает плотность записи на ленту. По умолчанию 63 зн/мм; -c выполнить команду ДЕМОС, записанную вместо пара- метра "командная-строка" Kоманда выполняется в фоновом режиме. Присутствие символьной последо- вательности %s в командной строке вызывает ее замену серийным номером ленты "серийный-номер" Например tape -m-c"cat %s>blot" GLOP84 команда копирует ленту GLOP84 в файл blot. ЗАМЕЧАНИЯ: Лeнтoчный cлeдящий пpoцecc и драйвер устройства под- держивают обработку меток лент, тем самым предотвраща- ется порча лент. Режимы обработки меток -nl, -sl, -blp описывают характеристику ленты на входе. Режим -nl относится к лентам, не содержащим метки файлов и серийный номер тома. Режим -sl характеризует ленту с серийным номером тома 167 AПK.00210-01 33 01-5 в первой записи и метками для ленточных файлов. Режим -blp устанавливает обработку с выключенной обра- боткой меток ленты. Метки ленты рассматриваются как собственно файлы. ФАЙЛЫ: /usr/spool/out/t* spool файла ленты /usr/spool/out/.spoolpid идентификатор процесса spool /dev/tape/?????? закрепление устройства для пользователя /dev/mt? закрепление устройства для системы /dev/tape/lock18 ДОПОЛНИТЕЛЬНЫЕ ССЫЛКИ: opr, vmpunch, label, spoolеr, tm 168 AПK.00210-01 33 01-5 ИМЯ: tar - ведение архива на магнитных лентах ФОРМАТ: tar ключ [имя ...] ОПИСАНИЕ: С помощью команды tar сохраняются и восстанавливаются файлы в архиве на магнитной ленте. Режим работы коман- ды определяется с помощью аргумента "ключ". "Ключ" представляет собой один из признаков операции (r,x,t,u или c), и возможно, один или более ключей- модификаторов. Остальными аргументами команды являются имена файлов или каталогов, которые должны быть сохра- нены или восстановлены. Tar выполняет следующие операции: r Перечисленные файлы дозаписываются в архив на ленте. Запись ведется в конец архива; х Перечисленные файлы считываются с ленты. Если задано имя каталога, содержимое которого было записано на ленту, считываются файлы из этого каталога (начинающиеся с указанного имени). Вла- делец и статус файлов восстанавливаются (если это возможно). Если не задается ни одного аргу- мента "имя", восстанавливаются все файлы с ленты. Если на ленте имеется несколько имен, специфицирующих тот же самый файл, то считывают- 169 AПK.00210-01 33 01-5 ся все варианты файла и остается последний;. t Выдаются имена указанных файлов каждый раз, когда они появляются на ленте. Если аргументы "имя" не заданы, выдаются имена всех файлов на ленте; u Перечисленные файлы дозаписываются в архив на ленте, если их там не было или они были модифи- цированы с момента последней записи на ленту; c Создает новый архив на ленте. Запись ведется с начала, а не в конец архива. Следующие символы модифицируют заданную операцию: 1,2 Этот модификатор задает лентопротяжный меха- низм, на котором монтируется лента (по умолча- нию 12, если не задана переменная "TAPE"; ис- пользуется имя из переменной "TAPE", если оно задано. Переменная "TAPE" используется для пе- редачи имени ленты командами "tar", "mt", "ardos" и задается в интерпретаторе "sh" так (например , лента /dev/mt580): "TAPE=/dev/mt580; export TAPE"; в "csh" так: "setenv TAPE /dev/mt580". Имя можно также за- давать ключом "f".); v При использовании ключа v команда tar печатает имя каждого обрабатываемого файла и соот- ветствующую букву-функцию. В случае операции 170 AПK.00210-01 33 01-5 t, выдаются не только имена файлов на ленте, но и другая информация;. w Заставляет команду tar печатать принимаемое к исполнению действие, а затем ждать подтвержде- ния пользователя. Возможны следующие варианты ответа: "y" - выполнить действие, "n" - про- пустить действие, "=имя" - выполнить действие без запроса для всех файлов, имена которых совпадают или начинаются с "имя", "#имя" - пропускаются файлы, имена которых совпадают или начинаются с "имя";. f Заставляет команду tar использовать следующий аргумент в качестве имени архива вместо /dev/mt?. Если именем файла служит "-", tar пишет на стандартный вывод или читает из стан- дартного ввода. Таким образом, можно использо- вать tar как начало или окончание цепи фильтра. Tar можно также использовать для пе- ресылки иерархических структур с помощью ко- манды cd from; tar cf - * | (cd to; tar xf -); b Заставляет команду tar использовать следующий аргумент в качестве коэффициента блокирования