4

АПК 00210-01 33 01-4



1. КОМАНДЫ ОБЩЕГО НАЗНАЧЕНИЯ


Структура описания каждой команды имеет следующий формат:

имя: приводятся имена команд и краткая информация

о их назначении;


формат: приводится формат команды. Параметры, взятые

в квадратные скобки, могут быть опущены;

многоточие после параметра указывает на то,

что данный параметр может быть многократно

повторен.


описание: содержит подробное описание команды;


файлы: перечисляются имена файлов, которые исполь-

зуются данной командой;


диагностика: перечисляются диагностические сообщения, ко-

торые могут выдаваться в процессе выполнения

данной команды;


замечания: приводятся ограничения на область применения

команд;


дополнительные ссылки:

делаются ссылки на сопряженные команды. Для удобства

работы в скобках приводится номер части руководства

программиста где описаны сопряженные команды

Описание команд общего назначения приведено в приложе-

нии.




5

АПК 00210-01 33 01-4



ПРИЛОЖЕНИЕ





























6

АПК 00210-01 33 01-4

ИМЯ:

apropos - поиск компонентов в справочнике по системе.


ФОРМАТ:

apropos ключ ...


ОПИСАНИЕ:

Команда apropos просматривает краткий справочник по

системе и выдает все записи, содержашие вхождения эле-

мента, указанного в списке ("ключ"). Поскольку каждая

запись краткого каталога содержит номер раздела и наз-

вание документа, эту команду удобно использовать для

получения информации о компонентах, которые нe имеют

отдельного документа, но упоминаются при описании

какого-либо другого компонента.


ПРИМЕРЫ

При использовании команды:


apropos time


может быть получена следующая последавательность

строк:


alarm - выполнить команды в указанное время;


time - команда выдачи времени работы команды.






7
АПК 00210-01 33 01-4

ИМЯ:
ar - программа обслуживания архивов и библиотек.

ФОРМАТ:
ar ключ [позимя] архив имя ...

ОПИСАНИЕ:
Команда ar обслуживает группы файлов, об'единенных в
единый архивный файл. Основным применением этой прог-
раммы является создание и модификация библиотечных
файлов, используемых редактором связий ld. Тем не ме-
нее, она может быть использована в любых подобных
целях.

"Ключ" представляет собой один из символов drqtpmx,
который может об'единяться с одним или несколькими из
символов vuaibcl (последние могут быть опущены). Аргу-
мент "архив" задает имя архивного файла. Аргумент
"имя" представляет собой имя файла, который необходимо
занести в архив или имя файла, уже входящего в состав
архива. Ключи задают следующие режимы работы:

d - Удаление файлов с указанными именами из архива;

r - Запись перечисленных файлов в архив. Если файл
уже входит в архив, то он заменяется на новый.
Если вместе с ключом "r" используется необяза-
тельный ключ "u", то в архиве заменяются только
те файлы, которые имеют более поздние даты моди-
фикации, чем одноименные файлы, входящие в ар-

8
АПК 00210-01 33 01-4

хив. Если используется один из ключей позициони-
рования "abi" и присутствует параметр "позимя",
новые файлы помещаются после (a) или перед (b
или i) файлом "позимя". В противном случае новые
файлы помещаются в конец;

q - Быстрое добавление перечисленных файлов в конец
архива. Ключи позиционирования не допускаются. В
этом режиме не проверяется, находятся ли уже в
архиве файлы с заданными именами. Этот режим по-
лезен только при создании больших архивов по
частям для устранения лишних действий;

t - Получение имен файлов, входящих в архив. Если
имена файлов не заданы, выдается список имен
всех файлов архива, в противном случае выводится
список имен только заданных файлов. Если файл с
заданным именем отсутствует в архиве, выдается
соответствующая диагностика;

p - Выдача в стандартный файл вывода перечисленных
файлов из архива. Содержимое архива не изменяет-
ся;

m - Перемещение перечисленных файлов. Если при-
сутствует ключ позиционирования и параметр "по-
зимя", файлы перемещаются в указанное место, как
и в режиме "r", иначе файлы перемещаются в конец
архива;

9
АПК 00210-01 33 01-4

x - Перечисленные файлы выделяются из архива в от-
дельные файлы. Если не заданы имена файлов, рас-
паковывается весь архив. Ни в коем случае коман-
да х не изменяет архивный файл;

v - Если указан данный ключ, команда ar выдает под-
робный протокол своих действий. При использова-
нии совместно с ключем "t", выдается более
подпробная информация о файлах, входящих в ар-
хив. Когда данный ключ используется совместно с
ключем "p", перед каждым файлом указывается его
имя;

c - Создает новый архив, даже если архивный файл
"архив" уже существует;

l - Обычно команда ar помещает свои временные файлы
в каталоге /tmp. Задание данного ключа приводит
к тому, что они размещаются в текущем каталоге.

ФАЙЛЫ:
/tmp/v* временные файлы

ДОПОЛНИТЕЛЬНЫЕ ССЫЛКИ :
ld, ar, lorder, ranlib

ЗАМЕЧАНИЯ:
Если в списке параметров один и тот же файл указан
дважды, он может быть дважды помещен в архив.


10
АПК 00210-01 33 01-4

ИМЯ:
as, newas - ассемблер

ФОРМАТ:
as [-] [-o обфайл] [имя...]

ОПИСАНИЕ:
Команда as ассемблирует файлы с указанными именами или
стандартный файл ввода, если имена файлов не заданы.
Если задан ключ "-", все неопределенные при ассембли-
ровании символы считаются внешними.

Результат работы команды as помещается в файл "обфайл"
или, если не задан ключ "-o", используется файл a.out
в текущем справочнике.

Команда newas вызывает новый вариант ассемблера, в ко-
тором улучшены диагностики, введена возможность ис-
пользовать русские буквы в идентификаторах, но имеются
некоторые ограничения на порядок описания идентифика-
торов (все переменные в правой части операторов "="
должны быть определены).

ФАЙЛЫ:
/tmp/as2 второй проход ассемблера
/tmp/atm[1-3]? временные файлы
a.out об'ектный файл

ДОПОЛНИТЕЛЬНЫЕ ССЫЛКИ :
ld, nm, adb, a.out.

11
АПК 00210-01 33 01-4

Имеется отдельное описание ассемблера.

ДИАГНОСТИКА:
Если входной файл не доступен для чтения - выдается
знак вопроса "?", за которым следует имя файла. Если
ассемблируемая программа содержит ошибки, то выдается
один символ диагностики, имя файла и номер строки, в
которой была обнаружена ошибка. Возможно следующие
символы диагностики:

) Нарушен баланс скобок;

] Нарушен баланс скобок;

< Незавершенная строка;

* Некорректная косвенная ссылка;

. Некорректное изменение текущего адреса;

a Ошибка в адресе;

b Переход на нечетный либо слишком большой адрес;

e Ошибка в выражении;

f Неверный локальный символ (типа 'f' или 'b');

g Неизвестный символ;

i Конец файла в кострукции "if";

m Символ многократно определен как метка;

o Нечетный адрес;


12
АПК 00210-01 33 01-4

p "." различается в 1-ом и 2-ом проходе;

r Ошибка размешения;

u Неопределенный символ;

x Синтаксическая ошибка.

ЗАМЕЧАНИЯ:
При диагностике синтаксических ошибок номер строки,
где произошла ошибка, может указываться невернo.











13
АПК 00210-01 33 01-4

ИМЯ:
at - выполнить команды в указанное время.

ФОРМАТ:
at время [день] [файл]

ОПИСАНИЕ:
Команда at сохраняет копию файла "файл" (по умолчанию
- стандартный файл ввода) для запуска в указанное вре-
мя. Предполагается, что "файл" содержит программу на
языке SHELL (или CSHELL). В начало файла вставляется
команда перехода в справочник (cd), который был теку-
щим в момент выполнения команды at. За этим следует
определение всех макропеременных "среды". При запуске
подобного командного файла используются идентификаторы
группы (GID) и пользователя (UID) создателя.

Аргумент "время" представляет собой от 1 до 4 цифр, за
которыми могут следовать символы "a", "p", "n" или
"m", означающие "до полудня", "после полудня", "днем"
и "ночью" соответственно. Одна или две цифры рассмат-
риваются как часы. Три или четыре цифры рассматривают-
ся как часы и минуты. Если буквы после цифр отсутству-
ют, подразумевается 24-часовое суточное время.

Необязательный параметр "день" используется для зада-
ния либо названия месяца, за которым следует число,
либо - дня недели. Если присутсвует слово "week",
вызов откладывается на семь дней. Названия месяцев и
дней могут усекаться до распознаваемой величины. При-


14
АПК 00210-01 33 01-4

ведем примеры допустимых команд:

at 8am jan 24
at 1530 fr week

Программы at выполняются посредством периодического
запуска команды /usr/lib/atrun из cron. Дискретность
at зависит от того, как часто выполняется atrun.

ФАЙЛЫ:
/usr/spool/at/гг.ддд.чччч.нн
Работа должна быть выполнена в "чччч" часу "ддд"
дня "гг" года; "нн" представляет собой уникаль-
ный номер.

/usr/spool/at/lasttimedone
Содержит "чччч" для последнего часа работы.

/usr/spool/at/past
Каталог работ, которые выполняются в настоящее
время.

/usr/lib/atrun
Программа, которая выполняет работы в соот-
ветствии с расписанием.

ДОПОЛНИТЕЛЬНЫЕ ССЫЛКИ :
calendar, cron

ДИАГНОСТИКА:
Сообщения о различных синтаксических ошибках и указа-
ниях времени вне допустимого диапазона.


15
АПК 00210-01 33 01-4

ЗАМЕЧАНИЯ:
Вследствие дискретности выполнения /usr/lib/atrun
могут происходить ошибки в планировании работы с опоз-
данием до 24 часов.














16
АПК 00210-01 33 01-4

ИМЯ:
awk - язык сканирования и обработки текста

ФОРМАТ:
awk [-fc] [прог] [файл]...

ОПИСАНИЕ:
Команда awk является интерпретатором своеобразного
языка, предназначенного для обработки текстов. В
каждом входном файле "файл" осуществляется поиск
строк, которые соответствуют одному из набора шабло-
нов, заданных в аргументе "прог". С каждым шаблоном в
"прог" может быть связано некоторое действие, которое
будет выполнено когда установится соответствие между
строкой файла "файл" и данным шаблоном. Набор шаблонов
может задаваться либо непосредственно в параметре
"прог", либо указываться как "-f файл".

Файлы считываются по порядку.Если файлы не указаны или
задан параметр "-", используется стандартный файл вво-
да. Каждая строка сравнивается с шаблоном каждого опе-
ратора "шаблон-действие". Для каждого соответствующего
шаблона выполняется связанное с ним действие.

Входная строка состоит из полей, которые разделены
пробелами (это умолчание может быть изменено с помощью
FS). Поля обозначаются $1,$2,...;. $0 относится ко
всей строке.

Оператор "шаблон-действие" имеет следующий вид:

17
АПК 00210-01 33 01-4

шаблон {действие}

Отсутствие части "{действие}" означает печать соот-
ветствующих "шаблону" строк. Отсутствие "шаблона" оз-
начает, что "действие" выполняется над каждой вводимой
строкой.

Действие представляет собой последовательность опера-
торов.

Имеются следующие операторы:
if(условие) оператор [else оператор]
while (условие) оператор
for (выр; условие; выр) оператор
break
continue
{ [оператор]... }
переменная = выр
print [список-выр] [>выр]
printf формат [,список-выр] [>выр]
next # пропустить остальные шаблоны
# для этой входной строки
exit # пропустить остальной ввод.

Операторы заканчиваются точкой с запятой, символом
новой строки или правой скобкой. Пустой список выраже-
ний относится ко всей строке. Выражения представляют
собой строку или числовые значения и строятся с по-
мощью операций +, -, *, /, % и конкатенация (указыва-
емая пробелом). В выражениях допускаются также опера-


18
АПК 00210-01 33 01-4

ции языка Си ++, --, +=, -=, *=, /= и %=. Переменные
могут представлять собой скаляры, элементы массивов
(обозначаемые x[i]) или поля. Начальными значениями
переменных являются пустые строки. Индексами массивов
могут быть любые строки, не обязательно числовые - это
позволяет организовать некоторую разновидность ассоци-
ативной памяти. Строковые константы заключаются в ка-
вычки "...".

Оператор print выдает свои параметры в стандартный
вывод (или в файл, если задано ">файл"), разделяя их
текущим разделителем выходных полей и завершая разде-
лителем выходных записей. Оператор printf форматирует
свой список выражений в соответствии с форматом.

Встроенная функция length возвращает длину своего па-
раметра, рассматриваемого как строку, или всей строки,
если параметр отсутствует. Имеются также встроенные
функции ехр, log, sqrt и int, последняя усекает значе-
ние своего параметра до целого. Функция substr(s,m,n)
возвращает n-символьную подстроку строки s, начинающу-
юся с m-ой позиции. Функция sprintf(фмт,выр,выр,...)
форматирует выражения в соответствии с printf форма-
том, заданным посредством "фмт",и возвращает результи-
рующую строку.

Шаблоны представляют собой произвольные булевы комби-
нации (!, ||, && и скобки) регулярных выражений и вы-
ражений отношения. Регулярные выражения должны обрам-

19
АПК 00210-01 33 01-4

ляться знаками "/". Изолированные регулярные выражения
в шаблоне относятся ко всей строке. Регулярные выраже-
ния могут присутствовать также и в выражениях отноше-
ния.

Шаблон может состоять из двух шаблонов, разделенных
запятой (в этом случае действие выполняется для всех
строк между строкой, в которой встречается первый
шаблон и строкой, в которой встречается второй
шаблон).

Выражение отношения может иметь одну из следующих
форм:

выражение опподб регулярное-выражение

выражение опотн выражение

где "опотн" представляет собой одну из шести орераций
отношения языка Си, а "опподб" представляет собой либо
знак ^ ("входит"), либо !^ ("не входит"). Условие
представляет собой арифметическое выражение, выражение
отношения либо их булеву комбинацию.

Специальные шаблоны BEGIN и END могут использоваться
для получения управления перед считыванием первой
входной строки и после считывания последней. BEGIN
должен быть первым шаблоном, а END - последним.

Отдельный символ "c" может использоваться для разделе-
ния полей путем указания в начале программы:

20
АПК 00210-01 33 01-4

BEGIN {FS="c"}

либо путем использования ключа "-fc".

К именам переменных со специальным значением относят-
ся:

NF - количество полей в текущей записи;

NR - порядковый номер текущей записи;

FILENAME - имя текущего входного файла;

FS - разделитель входных полей (по умолчанию -
пробел);

RS - разделитель входных записей (по умолчанию -
символ новой строки);

OFS - разделитель выходных полей (по умолчанию -
пробел);

ORS - разделитель выходных записей (по умолчанию
- символ новой строки);

OFMT - выходной формат для чисел (по умолчанию -
"%.6g");

$0 - обрабатываемая строка;

$i - i-тое поле обрабатываемой строки.

ПРИМЕРЫ:
Печать строк с длиной более 72 символов:

21
АПК 00210-01 33 01-4

length > 72

Печать первых двух полей в обратном порядке:

{print $2, $1}

Печать полей в обратном порядке:

{for (i=NF; i>0; --i) print $i}

Печать всех строк, начиная со строки, содержащей слово
"start" до строки со словом "stop" включительно:

/start/,/stop/

Печать всех строк, у которых первое поле отличается от
первого поля предыдущей строки:

$1 != prev {print; prev = $1}

ДОПОЛНИТЕЛЬНЫЕ ССЫЛКИ :
lex, sed.

Имеется отдельное описание awk.

ДИАГНОСТИКА:
В версии awk для машин с ограниченным размером адресу-
емой памяти (порядка 64Кбайт на процесс) основные ди-
агностические сообщения заменены номерами ошибок. При
этом часть дигностической информации теряется для
пользователя. Далее приводится список диагностических
сообщений выдаваемых полной версией awk с их номерами
(потерянная информация обозначается (?)):

22
АПК 00210-01 33 01-4

1 : unknown type (?) in penter
2 : unknown type (?) in freetr
3 : regular expression too long
4 : unknown type (?) in cfoll
5 : unknown type (?) in first
6 : can't open (?)
7 : record `(?)' too long
8 : record `(?)' has too many fields
9 : record `(?)' has too many fields
10 : built giant record `(?)...'
11 : trying to access field (?)
12 : can't open (?)
13 : out of space in ALLOC
14 : illegal statement (?)
15 : unexpected break, continue or next
16 : unexpected break, continue or next
17 : unknown boolean operator (?)
18 : unknown relational operator (?)
19 : out of temporaries in gettemp
20 : format item (?)... too long
21 : not enough arguments in printf((?))
22 : illegal arithmetic operator (?)
23 : division by zero
24 : division by zero
25 : division by zero
26 : division by zero
27 : illegal assignment operator (?)
28 : (?) is not an array


23
АПК 00210-01 33 01-4

29 : illegal jump type (?)
30 : illegal function type (?)
31 : string (?) too long to print
32 : too many output files (?)
33 : can't open file (?)
34 : out of space in makesymtab
35 : symbol table overflow at (?)
36 : can't set $0
37 : can't set $0
38 : illegal reference to array (?)
39 : funny variable (?): (?) (?) (?) (?)
40 : out of space in tostring on (?)

ЗАМЕЧАНИЯ:
Не существует явного преобразования между числами и
строками. Для того, чтобы выражение обрабатывалось как
число, добавьте к нему 0, а для того, чтобы оно обра-
батывалось как строка, об'едините его с "".







24
АПК 00210-01 33 01-4

ИМЯ:
bas - интерпретатор языка BASIC.

ФОРМАТ:
bas [file]

ОПИСАНИЕ:
Команда bas является интерпретатором одного из диалек-
тов языка BASIC. Если в командной строке задано имя
файла "file", то перед вызовом интерпретатора этот
файл считывается (предполагается, что он содержит
программу на языке BASIC). Bas допускает строки следу-
ющего вида:

оператор
метка оператор

В качестве метки используется целое положительное
число. Помеченные операторы запоминаются для последу-
ющего выполнения и сортируются в порядке возрастания
значений меток. Непомеченные операторы выполняются не-
медленно. Если оператор содержит вычисляемое выражение
без присваивания, результат выдается сразу.

СИНТАКСИС ОПЕРАТОРОВ:

выражение
Выражение выполняется для достижения желаемого
эффекта (присваивание или вызов фукции) или для
печати.В дальнейшем выражение будет обозначаться
символом V;


25
АПК 00210-01 33 01-4

comment ...
Этот оператор игнорируется, применяется для
включения комментария в программу;

done Выход из интерпретарора обратно в систему;

dump Вызывает печать имени и текущего значения всех
переменных в процессе выполнения программы;

edit Вход в редактор ed. В качестве имени файла ре-
дактору ed передается параметр file. После выхо-
да из редактора происходит возврат в интерпрета-
тор, причем программа находящаяся в файле file,
компилируется заново.

for идентификатор = V V оператор
for идентификатор = V V
группа операторов
next

Оператор for порождает многократное выполнение
оператора (первая форма записи) или группы опе-
раторов (вторая форма записи), контролируя коли-
чество итераций по значению переменной name.
Этой переменной присваивается значение первого
выражения, которое увеличивается на единицу
после каждого шага выполнения цикла. Цикл про-
должается до тех пор пока, значение переменной
не превышает значения второго выражения.

goto V


26
АПК 00210-01 33 01-4

Выражение вычисляется, переводится в целое,
после чего происходит переход к оператору, метка
которого равна значению выражения. Программа
продолжает выполнятся с этого места. Если данный
оператор не помечен, то перед его интерпретацией
компилируются операторы накопленные ранее.

if V оператор
if V
группа операторов
[ else
группа операторов ]
fi

Оператор (первая форма) или группа операторов
(вторая форма) выполняется, если значение выра-
жения не равно нулю. Во второй форме допускается
наличие альтернативной группы операторов.

list [V [V]]
Этот оператор применяется для просмотра текста
программы. Если отсутствуют аргументы, выдается
вся программа. Если присутствует один аргумент,
то выдается только один оператор, метка которого
равна значению заданного выражения. Если заданы
два аргумента, то выдаются операторы в указанном
диапазоне.

print список
"Список" включает в себя выражения, переменные и


27
АПК 00210-01 33 01-4

текстовые константы (текстовые константы берутся
в кавычки (")). Оператор print выдает значения
перечисленных выражений или переменных совместно
с текстом.

prompt список
Действует аналогично оператору print, только
после выдачи последнего символа не происходит
перехода на новую строку.

return [V]
Выражение вычисляется и его значение использует-
ся в качестве значения, которое возвращает
функция. Если аргумент отсутствует, возвращается
ноль.

run Программа компилируется, датчику случайных чисел
устанавливается стартовое значение. Управление
передается оператору с наименьшим значением
метки.

save [V [V]]
Оператор save работает аналогично оператору
list, только вывод идет не на терминал, а в файл
file. Если команда bas была вызвана без аргумен-
та, используется файл b.out в текущем каталоге.

СИНТАКСИС ВЫРАЖЕНИЙ:

идентификатор
Идентификатор может содержать произвольное коли-


28
АПК 00210-01 33 01-4

чество символов, однако значимыми считаются пер-
вые четыре. Идентификатор должен начинаться с
буквы и может состоять только из латинских
строчных букв и цифр.

число Число определяет числовую константу и записыва-
ется в традиционном фортрановском стиле. Число
состоит из цифр и может содержать десятичную
точку или знак порядка "e" с последующей экспо-
нентой. Например: 4, -15, 0.34, 1.2e+5.

(V) Скобки применяются для изменения старшинства вы-
полнения операций.

_V Инверсия значения выражения.

V операция V
Выполнение операции.

V( [V[, V]] )
Вызов функции с заданным числом аргументов. Зна-
чение первого выражения используется в качестве
метки оператора, с которого начинается функция.
Если значение выражения получается отрицатель-
ным, вызывается соответствующая встроенная
функция (правда, неизветно какая именно).

идентификатор [ V[, V]]
Значение выражения, переведенное в целое, ис-
пользуется для индексации массивов. Запись вида
a[1,2] равносильна записи вида a[1][2]. Значения


29
АПК 00210-01 33 01-4

индексов усекаются до диапазона от 0 до 32767.

СПИСОК ОПЕРАЦИЙ:

= Операция присваивания. Левый операнд должен быть
идентификатором или элементом массива. Значение
правого операнда присваивается левому.

& | Операция логическое "И" (&) дает результат ноль,
если какой-либо из операндов равен нулю, и не
ноль, если оба операнда не равны нулю. Операция
логическое "ИЛИ" (|) дает результат ноль, если
оба операнда равны нулю, и не ноль, если какой-
либо из них не равен нулю.

< <= > >= <>
Операции отношения:

< меньше;

<= не больше;

> больше;

>= не меньше;

<> не равно;
возвращают значение одного из аргументов если отноше-
ние соблюдается, в противном случае возвращается ноль.
Оперции отношения одного уровня допускают вложенность
следующего вида: результат операции a>b>c, будет ана-
логичен результату операции a>b&b>c;

30
АПК 00210-01 33 01-4

+ - Сложение и вычитание;

* / Умножение и деление;

^ Возведение в степень;

ВСТРОЕННЫЕ ФУНКЦИИ:

arg(i)
Получение i-того параметра текущего вызова
функции;

exp(x)
Экспонента от x;

log(x)
Натуральный логарифм от x;

sqr(x)
Квадратный корень от x;

sin(x)
Синус от x (радианы);

cos(x)
Косинус от x (радианы);

atn(x)
Арктангенс от x. Возвращает значения в диапазоне
от -J/2 до J/2;

rnd() Датчик случайных чисел, возвращает значения в
диапазоне от 0 до 1;

31
АПК 00210-01 33 01-4

expr()
Программный ввод. Строка читается из стандартно-
го файла ввода и рассматривается как выражение.
Программа получает значение этого выражения;

abs() Абсолютное значение;

int(x)
Перевод x в целое;

ФАЙЛЫ:
/tmp/btm* временные файлы
b.out файл для сохранения программы
/bin/ed редактор

ДИАГНОСТИКА:
Синтаксические ошибки приводят к выдаче некорректной
строки.








32
АПК 00210-01 33 01-4

ИМЯ:
basename - отбросить суффиксы и префиксы имени файла.

ФОРМАТ:
basename строка [суффикс]

ОПИСАНИЕ:
Команда basename удаляет из "строки" все префиксы,
оканчивающиеся символом "/", а также "суффикс", если
он присутствует в строке, и выдает результат в стан-
дартный файл вывода. Эта команда обычно используется в
программах написанных на языке SHELL.