работке файлов ".e"; -rx При обработке файлов с суффиксом ".r" использо- вать строку "x" как ключ для препроцессора RATFOR. Прочие параметры считаются либо ключами загрузчика, либо об'ектными программами, совместимыми с f77, либо библиотеками программ. Эти программы вместе с резуль- татами указанных компиляций загружаются (в заданном порядке) для получения выполняемой программы с именем "a.out". Компилятор реализует полный Фортран-77 с некоторыми расширениями, сделанными как для более эффективного использования ЭВМ, так и для лучшей совместимости с другими диалектами Фортрана. В версии компилятора для ЭВМ без раздельных адресных пространств команд и данных (а к ним относятся почти все отечественные ЭВМ, за исключением Электроники-79) существуют некоторые ограничения: 157 АПК 00210-01 33 01-4 - Не реализованы режимы "-Is" и "-C"; - В константных выражениях (размерности массивов и т.д.) можно использовать только целые числа и выражения целого типа (но не реальные или комплексные); - В списках ввода/вывода и параметрах циклов "do" запрещено использование встроенных арифметичес- ких функций и выражений, содержащих операции с комплексными числами. Это требование распростра- няется не на все случаи, но его нарушение может приводить к сбою компилятора с диагностикой "не найден сегмент ...". - Компилятор работает довольно медленно, и исполь- зует большие рабочие файлы в справочнике "/tmp". - При работе на ЭВМ без процессора плавающей точки усиливаются количественные ограничения на коли- чество идентификаторов, плавающих констант, ко- личество размерностей массивов в программах на Фортране, причем превышение этих ограничений может приводить к диагностике "out of memory" на этапе трансляции. При работе на ЭВМ с процессором плавающей точки эти ограниче- ния уменьшаются. Язык расширен по сравнению с Фортраном-77 следующим образом: 158 АПК 00210-01 33 01-4 - Введены новые описатели размещения локальных пе- ременных: "static", "automatic", "undefined" (для оператора "implicit"); - В качестве ограничителя строк можно использовать как одиночные, так и двойные кавычки.При этом закрывающая кавычка должна быть такой же, как и открывающая; - В строках можно использовать обозначения управ- ляющих символов, принятые в языке Си: 0 , - Введен оператор вставки текста include 'имя- файла'; - Введены битовые, восьмеричные и шестнадцатерич- ные константы, например: b'001' - битовые; o'725' - восьмеричные; x'af5' - шестнадцатеричные; - Введены операторы "accept" - эквивалентно "read", "type" - эквивалентно "print", "byte" - эквивалентно "character", для совместимости с некоторыми диалектами языка Фортран-4; - Введены функции "or", "and", "xor", "not" для работы с целыми числами, функции "getarg" и "iargc" для связи с системой; 159 АПК 00210-01 33 01-4 - По умолчанию каналы ввода/вывода настроены сле- дующим образом: 0 - stderr (канал диагностик); 5 - stdin (стандартный ввод); 6 - stdout (стандартный вывод). Остальные каналы связаны с файлами "fort.n", где "n" - номер канала. Могут использоваться каналы с номерами 0 - 9. Существует два формата входного текста. Если в колон- ках 1-6 стоит символ табуляции или в качестве признака продолжения используется "&" в первой позиции, длина входной строки может быть произвольной. Иначе исполь- зуются только первые 72 символа входной строки. Символ "!" является признаком внутристрочного комментария, текст между "!" и концом строки пропускается. Однако "!" не может быть единственным символом в строке. Программы на Фортране-77 могут использоваться сов- местно с программами на Си. Оператор Фортрана-77 call x(a,b,c) эквивалентен (если a,b,c - простые перемен- ные) оператору языка Си: x_(&a,&b,&c), то есть внешние имена дополняются символом подчеркивания в конце, а параметры передаются по адресу (если это не символьные переменные и не функции). Подробнее см.описание языка (86.24247-01 35 01). ДОПОЛНИТЕЛЬНЫЕ ССЫЛКИ: 160 АПК 00210-01 33 01-4 prof, cc, ld, adb, cdeb. ДИАГНОСТИКА: Диагностические сообщения, выдаваемые непосредственно компилятором f77, не требуют пояснений. Иногда могут выдаваться сообщения загрузчика. Некоторые сообщения об ошибке компилятора могут вызываться ошибками в программах или превышением количественных ограничений. ЗАМЕЧАНИЯ: При работе на ЭВМ с малым об'емом адресуемой памяти возникают некоторые ограничения на допустимый размер программы. Кроме того, необходимость деления компилятора на динамически загружаемые сегменты приво- дит к увеличению времени его работы. Отсутствие на установке команд плавающей арифметики не является препятствием для использования компилятора, но не следует удивляться, если время работы программы резко возрастет (как и в программах на Си). Большие программы (содержашие большое количество меток) могут не пройти через оптимизатор об'ектного кода (предупредительное сообщение "optimizer out of space"). Система ввода/вывода языка Фортран довольно велика и занимает около 050000(8) байтов оперативной памяти. Для уменьшения размера программ и ускорения их работы рекомендуется использовать флаги "-O1 -I2" всегда, когда это возможно. 161 АПК 00210-01 33 01-4 Для отладки программ на Фортране могут использоваться те же средства, что и для программ на Си : отладчики "adb" и "cdeb". Отладчик "cdeb" понимает типы перемен- ных в Фортране-77. ФАЙЛЫ: /usr/f77lib/f77pass0 - проход 0; /usr/f77lib/f77p1 - проход 1; /usr/f77lib/f77p1f - проход 1 для машин без процес- сора плавающей точки; /usr/f77lib/lib?77.a - библиотеки Фортран-77 на счете; /tmp/f???.? - рабочие файлы. 162 АПК 00210-01 33 01-4 ИМЯ: fc - компилятор ФОРТРАН. ФОРМАТ: fc [ -c ] sfile1.f ... ofile1 ... ОПИСАНИЕ: При вызове компилятора можно задавать параметры трех типов: - имена файлов с суффиксом ` .f' являются исходны- ми текстами на ФОРТРАНЕ. Об'ектные файлы выво- дятся (или читаются) в файл с суффиксом ` .o'; - Другие параметры (кроме ключа -c) рассматривают- ся либо как ключи редактора связей, либо как об'ектные программы, обычно создаваемые на пред- шествующих проходах fc, либо как совместимые с ФОРТРАНОМ программы. Эти программы, вместе сo скомпилированными программами, обрабатываются после чего получается исполняемый файл с именем a.out; - Задание ключа -c и любая синтаксическая ошибка при трансляции приводит к тому, что сборка не выполняется. Приводим список различий между fc и стандартным ФОРТРАНОМ-4: 1) В выражениях допустимо произвольное смешение 163 АПК 00210-01 33 01-4 типов. Но в настоящее время возможны не все комби- нации типов. Допустимы все обычные преобразования, включающие целый, действительный, двойной точности и комплексный типы; 2) Возможны два варианта оператора implicit: implicit integer /i-n/, либо implicit integer (i-n); 3) Возможны типы doublecomplex, logcal*1, integer*2, и real*8; 4) Символ "&" в первой позиции указывает на то, что за ним следует продолжение оператора; 5) Символ "c" в первой позиции указывает на то, что за ним следует комментарий; 6) Все операторы пишутся строчными буквами; 7) Понятие "седьмая колонка" не используется; 8) При использовании спецификации формата "g", ввод производится в "свободном" формате.Предшествующие пробелы пропускаются, первый пробел после числа заканчивает поле; 9) При вводе, запятая является разделителем цифровых или логических полей; 10) Управление переводом строки при выводе отсутству- ет; 164 АПК 00210-01 33 01-4 11) Последовательность из N символов, заключенная в двойные кавычки ` " ', эквивалентна Nh, за которы- ми следуют эти символы; 12) В операторе data символьная строка может инициали- зировать массив элементов или последовательность элементов массива; 13) Число блоков памяти, запрашиваемых бесформатным оператором read, должно совпадать с числом, содер- жащимся в читаемой записи. Для операторов ввода/вывода доступны номера устройств с 0 по 19. Устройство номер N указывает на файл fortNN. (например, устройству номер 9 соответствует файл `fort09'). Читаемые файлы должны существовать- .Если вывод производится в отсутствующий файл, файл создается. Устройство номер 5 постоянно закреплено за стандартным файлом ввода. Устройство номер 6 постоянно закреплено за стандартным файлом вывода. ФАЙЛЫ: a.out результат работы; f.tmp[123] временные файлы; /usr/fort/fc1 собственно компилятор; /lib/fr0.o старт прогона; /usr/fort/filib.a библиотека интерпретатора ; /usr/fort/libf.a встроенные функции; /usr/fort/liba.a системная библиотека 165 АПК 00210-01 33 01-4 ДОПОЛНИТЕЛЬНЫЕ ССЫЛКИ: ld, ierror, getarg, setfil ДИАГНОСТИКА: При компиляции, диагностика выдается по-английски. Возможно указание номера ошибочной строки и номера строки исходной программы, в которой имеется ошибка. При выполнении программы выдается номер ошибки: 1 неверно задан аргумент функции log; 2 несоответствие количества аргументов в функции amod; 3 несоответствие количества аргументов в функции atan2; 4 лишний аргумент при cabs; 5 задан слишком большой экспонент в cexp; 6 несоответствие количества аргументов в функции cmplx; 7 несоответствие количества аргументов в функции dim; 8 лишний аргумент при exp ; 9 несоответствие количества аргументов в функции idim; 10 несоответствие количества аргументов в функции 166 АПК 00210-01 33 01-4 isign; 11 несоответствие количества аргументов в функции mod; 12 несоответствие количества аргументов в функции sign; 13 недопустимый аргумент при sqrt; 14 неправильный переход по вычисляемому goto; 15 subscript out of range; 16 переполнение при вычислении real**real; 17 (отрицательный real)**real; 100 неверно задан номер устройства ввода/вывода; 101 неправильное использование устройства ввода/выво- да; 102 не можем создать файл вывода; 103 не можем открыть файл ввода; 104 конец файла ввода; 105 неверный символ в операторе format; 106 оператор format не может начинаться с символа `(' ; 107 не пустой список ввода/вывода при отсутствии спе- 167 АПК 00210-01 33 01-4 цификаций преобразования в формате; 108 лишние скобки в формате ; 109 неправильное определение формата; 110 запрещенный символ в поле ввода; 111 конец оператора format в h-спецификации; 112 неверный аргумент при setfil; 120 неверный аргумент при ierror ; 999 запрещенное преобразование ввода. ЗАМЕЧАНИЯ: В данной версии компилятора не реализованы следующие возможности: оператор-функция; масштабный множитель в спецификции формата опе- ратора ввода; оператор backspace. 168 АПК 00210-01 33 01-4 ИМЯ: file - определить тип файла. ФОРМАТ: file файл ... ОПИСАНИЕ: Команда file выполняет серию проверок для каждого па- раметра и пытается классифицировать его. Если оказыва- ется, что файл состоит из символов кода КОИ-8, команда file исследует первые 512 байтов и пытается угадать язык. ЗАМЕЧАНИЯ: Данная команда часто совершает ошибки. В частности, она часто предполагает, что командные файлы являются программами, написанными на языке Си. 169 АПК 00210-01 33 01-4 ИМЯ: find - поиск файлов. ФОРМАТ: find список_полных_имен выражение ОПИСАНИЕ: Команда find рекурсивно понижает иерархию каталогов для каждого имени пути в "списке_полных_имен" (т.е. одно или несколько полных имен) и ищет файлы, которые соответствуют булеву "выражению", записанному с по- мощью элементов. В этих описаниях параметр n использу- ется как десятичное целое, причем +n означает более чем n, -n означает менее чем n, а n означает точно n. -name имя_файла Истина, если параметр "имя-файла" соответствует текущему имени файла. Может использоваться обыч- ный синтаксис параметров интерпретатора команд, если он скрыт (будьте осторожны с символами "[, "?" и "*"); -perm вчис Истина, если статус файла точно соответствуют восьмеричному числу "вчис" (см. chmod). Если "вчис" имеет перед собой знак минус, становятся значимыми большее количество битов статуса (017777, см. stat); -type X 170 АПК 00210-01 33 01-4 Истина, если файл имеет тип "X", где "X" представляет собой один из символов b, c, d или f - для специального блочного файла; специально- го сиMвольного файла; каталога или простого файла соответственно; -links n Истина, если файл имеет n связей; -user имяп Истина, если файл принадлежит пользователю "имяп" (регистрационное имя или числовой иденти- фикатор пользователя); -group имяг Истина, если файл принадлежит группе "имяг" (имя группы или числовой идентификатор группы); -size n Истина, если длина файла составляет n блоков; -inum n Истина, если номер i-узла файла равен n; -atime n Истина, если доступ к файлу производился в тече- ние последних n дней; -mtime n Истина, если файл модифицировался в течение пос- ледних n дней; 171 АПК 00210-01 33 01-4 -exec команда Истина, если выполненная "команда" возвращает код возврата нуль. Конец команды должен быть обозначен скрытой точкой с запятой ";". Пара- метр команды "()" заменяется текущим именем; -ok команда Аналогично "-exec", за исключением того, что сгенерированная команда записывается в стан- дартный вывод, затем считывается стандартный ввод и команда Выполняется только в случае отве- та "y"; -print Всегда истина. Вызывает печать текущего полного имени; -newer файл Истина, если текущий файл был модифицирован позднее, чем указанный "файл". Эти элементы могут об'единяться с помощью следующих операций (операции перечислены в порядке уменьшения старшинства): 1) Заключение группы элементов и операций в скобки (скобки служат специальными символами для ин- терпретатора команд и должны быть скрыты); 2) Отрицание элемента ("!" представляет собой унар- ную операцию "нет"); 172 АПК 00210-01 33 01-4 3) Конкатенация элементов (операция "-a" подразуме- вается непосредственным соседством двух элемен- тов); 4) Альтернативность элементов ("-o" представляет собой операцию "или"). ПРИМЕР: Следующая команда предназначается для удаления всех файлов с именами "a.out", доступ к которым не произво- дился в течение недели: find / -name a.out -atime +7 -ok rm() ; ФАЙЛЫ: /etc/passwd /etc/group ДОПОЛНИТЕЛЬНЫЕ ССЫЛКИ: sh, test ЗАМЕЧАНИЯ: Синтаксис данной команды слишком сложен. 173 АПК 00210-01 33 01-4 ИМЯ fls - полноэкранная (full screen) функция ls ФОРМАТ fls [режим][файл...] ОПИСАНИЕ fls расширяет функции команды ls для указанных коман- дой file файлов и выводит результаты на полный экран 7920. Типичные режимы ls (например, -l, -t и т.д.) также могут быть использованы. Для этой команды используются функциональные клавиши: pf1 выводится вспомогательный (help) экран. pf2 курсором отмечается файл для стирания. Строка ***DELETED*** подводится к имени следующего файла. Файл не будет уничтожен без нажатия кла- виш pf3, pf9 или pf12. pf3 уничтожает файлы, отмеченные для стирания и за- канчивает команду (fls). pf5 переносит функции команды ned на файл, указанный курсором. pf6 исключает из обработки файл, отмеченный курсо- ром, т. е. противоположно pf2. pf7 сдвиг вверх на 1/2 экрана. pf8 сдвиг вниз на 1/2 экрана. 174 АПК 00210-01 33 01-4 pf9 изменяет оглавление и снова выполняет команду ls. pf11 выполняет команду file и выводит результат на экран. pf12 меняет оглавление на оглавление, указанное кур- сором и выполняет ls. вызов теста немедленно заканчивает выполнение fls без унич- тожения файлов. Пользователь также может вводить команды с правой части экрана; имя файла, высвеченное с левой стороны экрана связывается с вводимой командой и передается программе shell для выполнения команды. Только клавиши pf9 и pf12 moгут служить причиной повторного выполне- ния команды ls. ДОПОЛНИТЕЛЬНЫЕ ССЫЛКИ Dred - описание команды. 175 АПК 00210-01 33 01-4 ИМЯ: from - посмотр полученной почты. ФОРМАТ: from [ -s отправитель] [пользователь] ОПИСАНИЕ: Команда from выдает строки заголовков почты в вашем почтовом ящике, чтобы показать, от кого она получена. Если задан ключ -s, то выдается информация только о почте, поступившей от пользователя, имя которого опре- делено параметром "отправитель". Если задан параметр "пользователь", то команда from просматривает почтовый ящик указанного пользователя и сообщает от кого поступила для него почта. ФАЙЛЫ: /usr/spool/mail/* ДОПОЛНИТЕЛЬНЫЕ ССЫЛКИ: mail 176 АПК 00210-01 33 01-4 ИМЯ: grep, egrep, fgrep - поиск в файле по шаблону. ФОРМАТ: grep [ключ ... ] Выражение [файл] ... egrep [ключ ... ] [выражение] [файл] ... fgrep [ключ ... ] [строки] [файл] ОПИСАНИЕ: Команды семейства grep осуществляют поиск строк во входных файлах (по умолчанию - стандартный ввод), со- ответствующих шаблону. Обычно каждая обнаруженная строка копируется в стандартный вывод. Шаблоны команды grep представляют собой ограниченные регулярные выра- жения по типу используемых в комаде еd. Используется компактный недетерминированный алгоритм. Шаблоны ко- манды egrep являются полными регулярными выражениями. Эта команда использует быстрый детерминированный алго- ритм и иногда требует экспоненциального пространства. Шаблонами команды fgrep являются фиксированные стро- ки.Oна является быстрой и компактной. Распознаются следующие ключи: -v Печатаются все строки, кроме соответствующих шаблону; -x Печатаются только строки, (точно) соответству- ющие целиком (только fgrep); -c Печатается только счетчик соответствующих строк; 177 АПК 00210-01 33 01-4 -l Печатаются имена файлов (по одному разу), в ко- торых имеются соответствующие строки, разделен- ные символами новой строки; -n Каждой строке предшествует ее относительный номер в файле; -b Каждой строке предшествует номер блока, в кото- ром она была найдена. Это иногда полезно для на- хождения номеров дисковых блоков по их содержа- нию; -i При сравнении игнорируется регистр символов (другими словами, верхний и нижний регистры счи- таются одинаковыми). (только grep); -s Немой режим. Ничего не печатается (за исключени- ем сообщений об ошибках). Это полезно для про- верки ошибочного состояния; -w Выражение ищется как слово (только grep); -e выражение То же, что и просто параметр "выражение", однако используется тех случаях, когда "выражение" на- чинается с "-"; -f файл Регулярное выражение (egrep) или список строк (fgrep) берутся из файла "файл". Во всех случаях имя файла изображается так, как будто 178 АПК 00210-01 33 01-4 имеется более одного входного файла. Требуется осто- рожность при использовании в "выражении" символов $, *, [, ^, ! , (, ) и , так как они являются значимыми и для языка управления заданиями sh. Самым надежным спо- собом является заключение всего "выражения" в апостро- фы '...'. Команда fgrep ищет строки, которые содержат одну из последовательностей символов "строки" (разделенных символами новой строки). Команда egrep работает с расширенными регулярными вы- ражениями. В следующем описании "символ" не включает в себя символ новой строки: Символ " отличающийся от символа новой строки, соответствует этому символу. Символ ^ ($) соот- ветствует началу (концу) строки. Символ "." со- ответствует любому символу. Одиночный символ, не имеющий специального значения, соответствует этому символу; Строка символов, заключенная в квадратные скобки [ ], соответствует любому одиночному символу из этой строки. Группы символов кода КОИ-8 могут быть сокращенно обозначены в виде "a-z0-9". Символ "]" может встречаться только в качестве первого символа строки. Литерал "-" может располагаться только в тех 179 АПК 00210-01 33 01-4 местах, где он не может быть спутан с указателем диапазона символов. Регулярное выражение, за ко- торым стоит символ "*" ("+", "?"),определяяет последовательность из 0 или более (1 или более, 0 или 1) соответствий для этого регулярного вы- ражения. Два об'единенных регулярных выражения определяют соответствие для первого, за которым следует соответствие для второго. Два регулярных выражения, разделенные символом "!" или символом новой строки, определяет либо соответствие для первого, либо соответствию для второго. Регуляр- ное выражение, заключенное в скобки, соот- ветствует соответствию для этого регулярного вы- ражения..lin Порядок старшинства операций на од- ном и том же уровне скобок следующий: [ ], затем *, + и ?, затем конкатенация, затем ! И символ новой строки. ДОПОЛНИТЕЛЬНЫЕ ССЫЛКИ: еd, sed, sh ДИАГНОСТИКА: Код возврата равен: 0 - если соответствия были найдены, 1 - если соответствия не были обнаружены, 2 - если имеется синтаксическая ошибка или файлы не- доступны. 180 АПК 00210-01 33 01-4 ЗАМЕЧАНИЯ: В идеальном случае должна была быть только одна коман- да grep, однако неизвестен единственный алгоритм, ко- торый характеризуется достаточно хорошим отношением память/время. Длина строк ограничена 256 символами, более длинные строки усекаются. 181 АПК 00210-01 33 01-4 ИМЯ: head - выдача первых строк файлов ФОРМАТ: head [-число] [файл ...] ОПИСАНИЕ: Команда выдает указанное "число" первых строк каждого из перечисленных файлов, или (если файлы не заданы) стандартного файла ввода. Если значение "число" опуще- но, выдаются первые десять строк. ДОПОЛНИТЕЛЬНЫЕ ССЫЛКИ: tail 182 АПК 00210-01 33 01-4 ИМЯ: hed - шестнадцатеричный текстовый редактор. ФОРМАТ: hed [-e][-r][-t] файл ОПИСАНИЕ: hed - полноэкранный текстовый редактор для использова- ния на терминалах типа 7920. Операнд "файл" указывает имя редактируемого файла данных. -e используется для вывода в коде ДКОИ; -r toлько для чтения; -t для использования /tmp/hed xxxxx в качестве бу- ферного файла (для большинства файлов). hed оперирует с копией файла в памяти, если не задан режим "-t". В этом случае в качестве буферного файла используется /temp/hed xxxxx файл. Данные, изменяемые на экране дисплея, меняются и в памяти (или в /tmp/hed xxxxx файле). Основные команды q(quit) или е(edit) не меняют файл-оригинал. Когда меняются шестнадцатеричные данные, стираемые метки конца файла(еоf) заполняются нулями. Можно изменять любые текстовые данные, при этом неизмененные данные сохраняются. Стирание eof в тексте заполняется нулями. ОСНОВНЫЕ КОМАНДЫ: Основные команды hed вводятся с командной строки в 183 АПК 00210-01 33 01-4 конце экрана. Команда t переключает состояние дисплея. Таких состояний может быть два: ДКОИ и КОИ-8. хххххххх - изменить смещение дисплея на хххххххх. Зна- чение должно быть дополнено слева нулями до 8-ми зна- ков; и вы не сможете работать далее пока не будет дос- тигнут конец файла. Значением хххххххх д.б. правильные шестнадцатеричные данные. (+/-)хххххххх - изменить смещение дисплея по отношению к текущему смещению "+" или "-" хххххххх. Значение хххххххх должно быть слева дополнено нулями. Работа не может быть возобновлена только по концу файла до нача- ла обработки следующего файла. /xxxxxxxx/c - разместить строку шестнадцатеричных сим- волов (до 28 шестнадцатеричных цифр). Если строка ука- зана неверно, данные будут преобразованы в символьный формат и выведены на экран. Остальные шестнадцатерич- ные цифры заполняются нулями до конца строки. d - граница двойного слова. f - граница полного слова. h - граница полуслова. c - oбработка данных как символьных. (null) - граница, выровненная на 1 байт. ?хххххххх?с - разместить строку шестнадцатеричных сим- волов (до 28 шестнадцатеричных цифр), двигаясь в об- 184 АПК 00210-01 33 01-4 ратном направлении. Если строка хххххххх указана не- верно, данные будут преобразованы в символьный формат и выведены на экран как строка символов. Остальные шестнадцатеричные цифры заполняются нулями до конца строки. d - граница двойного слова; f - граница полного слова; h - граница полуслова; c - обработка данных как символьных; (null) - граница, выравненная на 1 байт; e (-e) (-r) имя файла (только чтение) w[файл] - запись файла; q - выход из редактора без записи изменений; t - перекодировка в ДКОИ или КОИ-8; nodup - отмена высвечивания повторяющихся строк; dup - высвечивание всех строк; f[файл] - высвечивание или смена имени файла; $ - переход на конечный блок файла; 185 АПК 00210-01 33 01-4 ! - выполнение команд интертретатора; xd, dx, od, do, xo, ox - преобразования: восьмеричные, десятичные, шестнадцатеричные; insert/delete<позиция> <число байт> - вставка/удаление. ФУНКЦИОНАЛЬНЫЕ КЛАВИШИ ПФ. ПФ1 - справка; ПФ2 - перемещение текста с текущей строки в первую; ПФ3 - запись результатов редактирования; ПФ4,ПФ5 - повтор поиска; ПФ9 - копирование экрана (добавление) в файл hed.out; ПФ10, ПФ11, (ПФ7, ПФ8) - перемещение на полный экран (на полэкрана) вниз и вверх; ПФ12 - установить курсор в начало; вызов теста - выход из редактора. ДОПОЛНИТЕЛЬНЫЕ ССЫЛКИ: xd 186 АПК 00210-01 33 01-4 2 АПК 00210-01 33 01-4 АННОТАЦИЯ Данный документ содержит команды общего назначения системы демос, предназначенные для непосредственного вызо- ва пользователем. Приводимые в приложении команды отражают текущее состояние стандартной оперативной справочной доку- ментации системы. Все команды в документе упорядочены в алфавитном порядке. Для удобства работы описание каждой команды начинается с нобого листа. 3 АПК 00210-01 33 01-4 СОДЕРЖАНИЕ 1. КОМАНДЫ ОБЩЕГО НАЗНАЧЕНИЯ......................... 4 ПРИЛОЖЕНИЕ............................................ 5 4 AПK.00210-01 33 01-5 1. КОМАНДЫ ОБЩЕГО НАЗНАЧЕНИЯ Структура описания каждой команды имеет следующий формат: имя: приводятся имена команд и краткая информация о их назначении; формат: приводится формат команды. Параметры, взятые в квадратные скобки, могут быть опущены; многоточие после параметра указывает на то, что данный параметр может быть многократно повторен. описание: содержит подробное описание команды; файлы: перечисляются имена файлов, которые исполь- зуются данной командой; диагностика: перечисляются диагностические сообщения, ко- торые могут выдаваться в процессе выполнения данной команды; замечания: приводятся ограничения на область применения команд; дополнительные ссылки: делаются ссылки на сопряженные команды. В скобках приводится номер раздела оперативного руководства. Описание команд общего назначения приведено в приложении. 5 AПK.00210-01 33 01-5 ПРИЛОЖЕНИЕ 6 AПK.00210-01 33 01-5 ИМЯ: join - операция для реляционных баз данных. ФОРМАТ: join [ключи] файл1 файл2 ОПИСАНИЕ: Команда join формирует в стандартном файле вывода со- единение двух отношений, заданных строками файлов "файл1" и "файл2". Если вместо файла "файл2" указано "-", используется стандартный файл ввода. "Файл1" и "файл2" должны быть отсортированы в возрас- тающей последовательности в соответствии с кодом КОИ-8 по полям, по которым они должны сливаться. (Обычно по первым полям в каждой строке). Для каждой пары строк в файлах "файл1" и "файл2", ко- торые имеют идентичные поля слияния, создается одна выходная строка. Выходная строка обычно состоит из об- щего поля, после которого следует остальная часть cтpoки из фaйлa "фaйл1", a зaтeм - из фaйлa "фaйл2". Поля обычно разделяются пробелами, символами табуляции и новой строки. В данном случае несколько разделителей рассматриваются как один, а передние разделители отбрасываются. Распознаются следующие опции: -aN в дополнение к обычному выводу генерируется 7 AПK.00210-01 33 01-5 строка для каждой непарной строки в файле N, где N равно 1 или 2; -e S заменяет пустые выходные поля строкой "S"; -jN M слияние производится по M-ому полю файла N. Если N отсутствует, в каждом файле используется M-ое поле; -o cпиcoк кaждaя выxoднaя cтpoкa cocтoит из пoлeй, указан- ных в "списке", каждый элемент которого имеет вид N.M, где N - это номер файла, а M - номер поля; -t C использовать символ "C" в качестве разделителя (символа табуляции). Каждое появление "C" в строке является значимым; ДОПОЛНИТЕЛЬНЫЕ ССЫЛКИ : sort, comm, awk ЗАМЕЧАНИЯ: При стандартном разделителе полей сортирующая последо- вательность такая же, как в команде "sort -b"; с клю- чем -t последовательность такая же, как при простой сортировке. Соглашения, принятые в командах join, sort, comm, и awk, несовместимы. 8 AПK.00210-01 33 01-5 ИМЯ: kill - завершить процесс. ФОРМАТ: kill [-сигном] идентификатор-процесса ... ОПИСАНИЕ: Команда kill посылает сигнал завершения (SIGTERM-15) заданным процессам. Если задан параметр "сигном", данный сигнал посылается вместо сигнала завершения. Это свойство команды kill можно использовать для инте- рактивного управления ходом выполнения фоновых процес- сов или для уничтожения процессов игнорирующих сигнал завершения. В любом случае команда "kill -9" гаранти- рует завершение процесса. В соответствии с принятым соглашением, если задан номер процесса 0, сигнал будет послан всем членам, входящим в данную группу процессов. Завершаемые про- цессы должны принадлежать текущему пользователю, если он не является супер-пользователем. Интерпретатор команд сообщает номера асинхронных про- цессов, запущенных посредством "&". ДОПОЛНИТЕЛЬНЫЕ ССЫЛКИ : ps, kill, signal 9 AПK.00210-01 33 01-5 ИМЯ: label - обработка меток на мл. ФОРМАТ: label [-w] [-i метка] имя ОПИСАНИЕ: Командой label можно прочитать и записать метку маг- нитной ленты, адресуемой спец-файлом в параметре "имя". Команда распознает метки МЛ в формате ОС ЕС, где метка должна располагаться в 6-ти байтовом поле первой 80-ти байтовой записи. Эта запись начинается символами VOL1, за которыми следует метка МЛ и пробелы в оставшейся части. Операция чтения-запись метки сопровождается пе- рекодировкой из кода ДКОИ в КОИ-8 или наоборот соот- ветственно. Команда label без опционных параметров приводит к отображению метки МЛ на терминале. Опции таковы: -w записать метку МЛ. В виде метки используется имя спец-файла; -i записать метку МЛ. Меткой ленты становится уни- кальное имя из поля "метка". ДОПОЛНИТЕЛЬНЫЕ ССЫЛКИ: tape, tm 10 AПK.00210-01 33 01-5 ИМЯ: ld - редактор связей ФОРМАТ: ld [ключ] файл ... ОПИСАНИЕ: Команда ld об'единяет несколько об'ектных программ в одну, разрешает внешние ссылки и производит поиск в библиотеках. В простейшем случае задаются несколько об'ектных файлов, и ld об'единяет их, создавая об'ектный модуль, который может либо выполняться, либо являться входным для последующих запусков ld (в пос- леднем случае должен задаваться ключ "-r" для сохране- ния разрядов перемещения). Результат работы ld помeща- ется в файл с именем a.out. Этот файл делается выпол- няемым, если в процессе загрузки не было ошибок. Указанные параметрами программы об'единяются в задан- ной последовательности. Точкой входа для выходного мо- дуля является начало первой программы (если не исполь- зуется опция "-e"). Если какой-либо из параметров представляет собой биб- лиотеку, эта библиотека просматривается только один раз в тот момент, когда она встречается в списке пара- метров. Загружаются только те программы, которые опре- делены как неразрешенные внешние ссылки. Если подпрог- рамма из библиотеки ссылается на другую подпрограмму из той же библиотеки, то последняя должна находится в 11 AПK.00210-01 33 01-5 библиотеке после подпрограммы, которая на нее ссылает- ся. Если первый член библиотеки имеет имя __.SYMDEF, то считается, что он содержит каталог библиотеки, по- лученный с помощью команды ranlib. В этом случае, все ссылки будут успешно разрешены. Символы "_etext", "_edata" и "_end" ("etext", "edata" и "end" в языке Си) зарезервированы и, если на них имеются ссылки, устанавливаются на первую ячейку над программой, первую ячейку над инициализированными дан- ными и первую ячейку над всеми данными соответственно. Попытка переопределить эти символы приводит к ошибке. Команда ld распознает несколько ключей. За исключением ключа "-l", все они должны находится перед именами файлов: -d Вызывает определение общей памяти, даже если ус- тановлен флaг "-r"; -a Следующий параметр рассматривается как имя точки входа зaгpyжaeмoй пpoгpaммы; пo yмoлчaнию иcпoльзyeтcя ячeйкa 0; -l Этoт ключ являeтcя coкpaщeниeм имeни библиoтeки /lib/libX.a, где "X" - строка. Если она не су- ществует, команда ld пытается отыскать библиоте- ку /usr/lib/libX.a. Поскольку осуществляется пoиcк, мecтoнaxoждeниe "-l" являeтcя cyщecтвeнным; 12 AПK.00210-01 33 01-5 -n Приводит к тому, что при выполнении выходного файла тeкcтoвaя чacть бyдeт дocтyпнoй тoлькo для чтeния и paздeлятьcя мeждy вceми пoльзoвaтeлями, выпoлняющими этoт фaйл. Сегмен