НАЗВАНИЕ
gethostent, gethostbyaddr, gethostbyname, sethostent, endhostent - получить сведения о главной сетевой машине
СИНТАКСИС
#include <netdb.h>
struct hostent *gethostent()
struct hostent *gethostbyname(name) char *name;
struct hostent *gethostbyaddr(addr,len,type) char *addr; int len,type;
sethostent(stayopen) int stayopen
endhostent()
ОПИСАНИЕ
Функции gethostent, gethostbyname и gethostbyaddr возвращают указатель на объект, имеющий следующую структуру и описывающий строку в главной сетевой БД /etc/hosts:
struct hostent { char *h_name; /* официальное host-имя */ char **h_aliases; /* список псевдонимов */ int h_addrtype; /* тип адреса */ int h_length; /* длина адреса */ char *h_addr; /* адрес */ };
ЭЛЕМЕНТЫ СТРУКТУРЫ
Функция gethostent считывает следующую строку файла, в случае необходимости открывая этот файл.
Функция sethostent открывает и переходит к началу файла. Если флаг stayopen имеет ненулевое значение, главная БД не будет закрываться после каждого вызова функции gethostent.
Функция endhostent закрывает файл.
Функции gethostbyname и gethostbyaddr последовательно просматривают файл с самого начала в поисках имени или адреса главной машины.
ФАЙЛЫ
/etc/hosts
ДИАГНОСТИКА
По достижении конца файла или в случае появления ошибки возвращается нулевой указатель.
ЗАМЕЧАНИЯ
Вся информация сохраняется в статической области, поэтому в целях сохранения ее необходимо скопировать. Адрес может иметь только формат Internet.
ИМЯ
h2ph - конвертер файлов заголовков C .h в файлы заголовков Perl .ph
СИНТАКСИС
h2ph [headerfiles]
ОПИСАНИЕ
h2ph переводит указанный файл заголовков C в файл заголовков формата Perl.
Если аргумент не указан, то файл читается со стандартного ввода и пишется на стандартный вывод.
ФАЙЛЫ
/usr/include/*.h /usr/include/sys/*.h etc.
АВТОР
Larry Wall
СМ. ТАКЖЕ
perl(1)
НАЗВАНИЕ
haltsys, reboot - закрывают файловые системы и разгружают операционную систему.
СИНТАКСИС
/etc/haltsys /etc/reboot
ОПИСАНИЕ
Утилита haltsys выполняет системный вызов uadmin() (см. ) для прекращения дискового ввода/вывода, очистки файловых систем и остановки процессора. haltsys вступает в действие сразу же, поэтому пользовательские процессы должны быть прерваны заранее. Для нормальной разгрузки системы рекомендуется программа shutdown(ADM), так как она предупреждает пользователей, прерывает процессы и затем вызывает haltsys. Если вы не можете запустить shutdown, например, из-за какой-либо системной проблемы, используйте haltsys непосредственно.
Команда reboot выполняет ту же функцию, что и haltsys, за исключением того, что после всего система автоматически перезагружается.
Только привилегированный пользователь может выполнять haltsys или reboot.
ПРИМЕЧАНИЯ
haltsys паркует головки жесткого диска.
СМ. ТАКЖЕ
shutdn(2), ,
НАЗВАНИЕ
hashcheck - вспомогательная программа для поддержки spell - средства проверки орфографии в текстах. Читает сжатый эталонный список и повторно создает 9-цифровые хэш-коды для всех слов списка.
СИНТАКСИС
/usr/lib/spell/hashcheck
ОПИСАНИЕ
Команда spell собирает слова из файлов, перечисленных в списке файлы, и ищет их в эталонном списке. Hashcheck, вместе с программами spellin и hashmake, обеспечивает построение отсортированного эталонного списка. Hashcheck читает сжатый эталонный список и вновь создает 9-цифровые хэш-коды для всех слов списка; пишет эти коды на стандартный вывод.
ФАЙЛЫ
D_SPELL=/usr/lib/spell/hlist[ab] хэшированные эталонные списки, американские и британские
СМ. ТАКЖЕ
spell (1).
НАЗВАНИЕ
hashmake - вспомогательная программа для поддержки spell - средства проверки орфографии в текстах. Читает список слов со стандартного ввода и пишет соответствующий 9-цифровый хэшкод на стандартный вывод.
СИНТАКСИС
/usr/lib/spell/hashmake
ОПИСАНИЕ
Команда spell выбирает слова из файлов, перечисленных в списке файлы, и ищет их в эталонном списке. Hashmake, вместе с программами spellin и hashckeck, обеспечивает построение отсортированного эталонного списка. Hashmake читает список слов со стандартного ввода и пишет соответствующий 9-цифровый хэш-код на стандартный вывод.
ФАЙЛЫ
D_SPELL=/usr/lib/spell/hlist[ab] хэшированные эталонные списки, американские и британские
СМ. ТАКЖЕ
spell (1).
НАЗВАНИЕ
hd - шестнадцатеричный дамп
СИНТАКСИС
hd файл [позиция длина] ...
ОПИСАНИЕ
Команда hd выдает на стандартный вывод дамп файла. Каждая строка дампа содержит следующую информацию:
Шестнадцатеричный адрес. Данные в шестнадцатеричном виде, сгруппированные в 32-разрядные слова. Данные в коде ASCII.
Если длина и позиция не указаны, то команда hd выводит весь файл. В противном случае для каждой пары [позиция длина] ищется начальная позиция и выводится указанное количество байт. Последняя из длин может быть опущена. В таком случае выдается весь остаток файла, начиная с указанной позиции.
Позиция и длина являются шестнадцатеричными целыми числами. Если за числом стоит символ k или x, то значение умножается на 1024 или 512 соответственно. Если стоит символ i, то значение умножается на 64 и к результату прибавляется 2k-64.
ПРИМЕРЫ
Вывести дамп текущего каталога:
hd .
Вывести дамп физической памяти с адреса 0 выдать 200 байт, а с адреса 4C0 - 20 байт:
hd /dev/mem 0 200 4C0 20
Вывести дамп суперблока файловой системы:
hd /dev/dsk/hd0s0 1x 1x
Вывести дамп описателя корневого каталога:
hd /dev/dsk/hd0s0 2i 40
СМ. ТАКЖЕ
hpt(1), .
НАЗВАНИЕ
hd - встроенный дисковод жесткого диска
ОПИСАНИЕ
Блочно-буферизованный доступ к первичному жесткому диску обеспечивается с помощью следующих специальных файлов блочного типа: hd00, hd01 ... hd04, hd0a и hd0d, root и swap. Блочно-буферизованный доступ к первичному жесткому диску обеспечивается с помощью следующих специальных файлов: hd10, hd11 ... hd14, hd1a,
hd00 относится к целому физическому диску; hd01 ... hd04 относятся к разделам физического диска. root относится к корневой файловой системе; swap относится к области свопинга. Специальные файлы блочных устройств осуществляют доступ к дискам через посредство обычного буферного механизма системы и могут быть прочитаны или записаны, невзирая на размер физических записей на диске.
Специальные файлы символьного типа следуют тем же соглашениям по наименованиям, что и специальные файлы блочного типа, за исключением того, что имя специального файла символьного типа начинается с "r". Например, специальный файл символьного типа, относящийся к целому физическому диску, носит имя /dev/rhd00.
Далее приведены имена разделов жесткого диска. Доступ к любому разделу осуществляется посредством соответствующего блочного интерфейса, например, /dev/hd01, и посредством символьного интерфейса (без обработки данных), например, /dev/rhd01.
Обратите внимание, что имена файлов корневой файловой системы и области свопинга для второго диска отсутствуют.
Для осуществления доступа к разделам DOS задавайте буквы, наподобие "C:" или "D:", которые указывают на первый или второй разделы диска. В файле /etc/default/msdos содержатся строки, которые назаначают буквенные аббревиатуры для имен устройств DOS. Смотрите dos(C).
НАЗВАНИЕ
hdinstall - размещает только что созданное ядро в месте, установленном по умолчанию.
СИНТАКСИС
hdinstall
ОПИСАНИЕ
Когда с помощью линк-комплекта создается новое ядро, то для записи нового ядра в /kernel следует вызвать hdinstall. hdinstall переписывает "старый" файл /kernel в новый файл с именем /kernel.old и копирует /usr/sys/conf/kernel в /kernel, местоположение ядра, устанавливаемое по умолчанию.
ФАЙЛЫ
/usr/sys/conf/kernel /kernel /kernel.old
СМ. ТАКЖЕ
,
ИМЯ
hdr - вывoд фpaгмeнтoв выпoлняeмoгo фaйлa
СИНТАКСИС
hdr [ -dhprsSt ] file ...
ОПИСАНИЕ
Hdr вывoдит в фopмaтe, пpигoднoм для чтeния, paзличныe фpaгмeнты выпoлняeмoгo двoичнoгo фaйлa: зaгoлoвoк, тaблицy имeн, инфopмaцию o пepeмeщeнии. Taкжe вывoдятcя aдpeca ceгмeнтoв в выпoлняeмoм фaйлe.
Пpoгpaммa мoжeт aнaлизиpoвaть фaйлы и библиoтeки в фopмaтax a.out, x.out и x.out (ceгмeнтиpoвaнный).
Фopмaт тaблицы имeн coдepжит шecть пoлeй. Для фaйлa a.out тpeтьe пoлe oпyщeнo. Пepвoe пoлe (пoзиция в тaблицe или индeкc имeни) вывoдитcя в дecятичнoм видe. Индex пepвoй cтpoки paвeн 0. Bтopoe пoлe, тип, вывoдитcя в шecтнaдцaтepичнoм видe. Tpeтьe пoлe, s_seg, вывoдитcя в шecтнaдцaтepичнoм видe, кaк и чeтвepтoe пoлe, знaчeниe имeни. B пятoм пoлe зaпиcывaeтcя oдин cимвoл, oтpaжaющий тип имeни, в видe, cooтвeтcтвyющeм выдaчe пpoгpaммы , зa иcключeниeм типa C кaк cпeциaльнoгo cлyчaя нeoпpeдeлeннoгo имeни. B пocлeднeм пoлe зaпиcывaeтcя coбcтвeннo имя.
Ecли инфopмaция o пepeмeщeнии нaxoдитcя в длиннoм фopмaтe, фopмaт вывoдa cocтoит из шecти пoлeй. Пepвoe пoлe - дecкpиптop в шecтнaдцaтepичнoм видe. Bтopoe пoлe - индeкc в дecятичнoм видe. Этo пoлe иcпoльзyeтcя пpи внeшниx пepeмeщeнияx кaк индeкc в тaблицe имeн. Tpeтьe пoлe - cмeщeниe внyтpи тeкyщeгo ceгмeнтa, для кoтopoгo выпoлняeтcя пepeмeщeниe; вывoдитcя в шecтнaдцaтepичнoм видe. B чeтвepтoм пoлe зaпиcывaeтcя имя пepeмeщaeмoгo ceгмeнтa: ceгмeнт инcтpyкций, дaнныx или EXT для внeшнeгo. Пятoe пoлe - paзмep пepeмeщeния: бaйт, cлoвo (2 бaйтa) или длиннoe cлoвo. B пocлeднeм пoлe, ecли oнo пpиcyтcтвyeт, yкaзывaeтcя, являeтcя ли пepeмeщeниe oтнocитeльным.
Для кopткoй фopмв пepeмeщeния фopмaт cocтoит из тpex пoлeй. Пepвoe пoлe - кoмaндa пepeмeщeния в шecтнaдцaтepичнoм видe, втopoe пoлe coдepжит имя ceгмeнтa. Пocлeднee пoлe yкaзывaeт paзмep пepeмeщeния: cлoвo или длиннoe cлoвo.
Дoпycтимы cлeдyющиe флaги:
СМ. ТАКЖЕ
a.out(3),
ИМЯ
head - показывает первые строки файла
СИНТАКСИС
head [-n count] [file ...]
ОПИСАНИЕ
Выводит на экран первые строки указанного файла. По умолчанию число строк равно 10. Число выводимых строк можно указать после опции -n.
If more than a single file is specified, each file is preceded by a header consisting of the string ``==> XXX
Head возвращает значение 0 в случае успеха и значение >0 в случае ошибки.
СМ. ТАКЖЕ
ИСТОРИЯ
Команда head появилась в 3.0BSD.
НАЗВАНИЕ
help - справочная служба системы UNIX
СИНТАКСИС
help [help] starter [help] usage [-d] [-e] [-o] [имя_команды] [help] locate [ключевое_слово ...] [help] glossary [термин] help аргумент ...
ОПИСАНИЕ
Справочная служба позволяет получить оперативную консультацию как по системе UNIX в целом, так и отдельно по системе управления исходными текстами (SCCS).
Команда help без аргументов выводит меню справочных команд вместе с их кратким описанием. Перечень справочных команд:
starter Информация о системе UNIX для начинающих.
locate Поиск команд по функционально связанным с ними ключевым словам.
usage Сведения об использовании команд.
glossary Толковый словарь терминов системы UNIX.
Пользователь может либо выбрать одну из справочных команд, введя указанную в меню букву, либо вернуться в систему, введя q (quit - выйти).
При наличии аргументов соответствующая справочная команда вызывается сразу, минуя начальное меню. Команды starter, locate, usage и glossary, быть может с предшествующим словом help, можно вызвать и из операционной системы. При таком вызове команды glossary некоторые символы нуждаются в экранировании [подробнее см. glossary(1)].
В любой момент диалога со справочной службой пользователь может выполнить команду shell'а [см. ], введя ! и собственно команду. После ее выполнения экран перерисовывается, если команда была введена в ответ на приглашение первого уровня; в противном случае перерисовывается только приглашение.
По умолчанию справочная служба роллирует изображение. Если Вы предпочитаете, чтобы экран очищался перед выводом данных (без роллинга), переменной shell'а SCROLL нужно присвоить значение no и экспортировать ее, чтобы сделать частью окружения. Для этого в пользовательский профайл .profile [см. ] достаточно вставить строку
SCROLL=no; export SCROLL
Чтобы вернуть роллинг, переменной SCROLL нужно присвоить значение yes.
Каждой из команд справочной службы (starter, locate, usage, glossary и help) посвящена отдельная статья настоящего Справочника.
При помощи команды справочную службу можно приспособить к конкретным нуждам пользователей.
Если первый аргумент команды help отличен от starter, locate, usage или glossary, предполагается, что затребована информация по системе управления исходными текстами (SCCS). При этом аргументы могут быть как номерами сообщений (которые обычно идут в скобках вслед за сообщением), так и именами команд следующих типов:
НАЗВАНИЕ
helpadm - внесение изменений в базу данных справочной службы
СИНТАКСИС
/etc/helpadm
ОПИСАНИЕ
Команда управления справочной службой helpadm позволяет администраторам и разработчикам команд системы UNIX определить содержимое базы данных справочной службы для отдельных команд и управлять учетом использования справочной службы. Команду helpadm могут выполнять только пользователи root, bin, и члены группы bin.
Команда helpadm выводит меню для 3 типов данных справочной службы, которые можно модифицировать, а также 2 выбора для контроля использования справочной службы:
Модифицировать информацию для начинающих [см. ]. Добавить, изменить или удалить словарный термин [см. ]. Добавить, изменить или удалить сведения о команде [описание, опции, примеры и ключевые слова, см. и ]. Прекратить учет использования справочной службы (это могут сделать только пользователи root и bin). Возобновить учет использования справочной службы (это могут сделать только пользователи root и bin).
Пользователь может выбрать любой из этих вариантов, введя соответствующую букву (приведенную в меню) или вернуться в систему, введя q (quit - выйти).
Если выбран один из первых трех вариантов, пользователя приглашают ввести дополнительную информацию; а именно, какую порцию информации для начинающих, определение какого термина или описание какой команды нужно изменить. Пользователя могут также спросить, что за изменения последуют в базе данных - добавление, модификация или удаление. Если модифицируют существующие данные или добавляют новые, будет приглашение для соответствующих изменений/добавлений. Если удаляется термин из словаря или команда из базы данных, пользователь должен ответить утвердительно на запрос подтверждения; только после этого будет произведено удаление. Во всех случаях, перед завершением внесения изменений пользователи должны отвечать утвердительно на вопрос, уверены ли они, что хотят, чтобы заказанные изменения базы данных были сделаны.
По умолчанию helpadm, для внесения добавлений/модификаций в базу данных, отправит пользователя в . Если нужен другой редактор, следует установить в переменную окружения EDITOR соответствующее значение и затем экспортировать ее.
Если пользователь выберет прекращение/возобновление учета использования справочной службы, то выбранное действие выполняется без дальнейших запросов.
СМ. ТАКЖЕ
, , , , , в Справочнике пользователя.
ПРЕДОСТЕРЕЖЕНИЯ
Из стандартного варианта файла /etc/profile экспортируется переменная окружения LOGNAME. Если после изменений эта переменная перестает экспортироваться, то средства учета использования справочной службы могут работать неправильно.
ФАЙЛЫ
/usr/lib/help/HELPLOG Информация об использовании справочной службы.
/usr/lib/help/helpclean Программа сброса информации об использовании справочной службы.
НАЗВАНИЕ
hex - преобразование выполняемого файла к формату мс_записей
СИНТАКСИС
hex [-t значение] [-d значение] [-b значение] файл ...
ОПИСАНИЕ
Команда hex служит для того, чтобы преобразовать выполняемые файлы [см. a.out(4)] (удалив информацию о настройке ссылок) к формату мс_записей (MOTOROLA-S-RECORDS) и поместить их на стандартный вывод.
ОПЦИИ
Шестнадцатеричные значения указываются без префикса 0x. Файлы должны иметь тип a.out.
Используются следующие типы мс_записей:
0 заголовок 2 данные 5 счетчик записей (пока не реализован) 8 конец записи A имя (только опция -s)
СЮРПРИЗЫ
Опция -s не описана.
ИМЯ
hostname - устанавливает или печатает имя сервера системы.
СИНТАКСИС
hostname [-s] [nameofhost]
ОПИСАНИЕ
Hostname печатает имя сервера. Суперпользователь может установить имя сервера указав его в качестве аргумента.
СМ. ТАКЖЕ
gethostname(3)
ИСТОРИЯ
Команда hostname появилась в 4.2BSD.
НАЗВАНИЕ
hp - отработка специальных функций терминалов серии HP 2640 и 2641
СИНТАКСИС
hp [-e] [-m]
ОПИСАНИЕ
Команда hp поддерживает выполнение специальных функций терминалов серий 2640 и 2641 фирмы Хьюлетт-Паккард; цель введения этой команды - правильно изображать файлы, полученные в результате применения команды nroff. Типичный пример использования команды:
nroff -h files ... | hp
Независимо от модификации терминала команда hp пытается выполнить действия, связанные с подчеркиванием и реверсным перемещением по вертикали. Если терминал обладает "расширенными видеовозможностями", верхние и нижние индексы можно изобразить разными способами. Если он имеет встроенный "математический алфавит", можно изображать греческие буквы и другие специальные символы.
ОПЦИИ
Греческие буквы и другие специальные символы команда hp изображает так же, как и команда 300, за исключением того, что значок "НЕ" изображается правой стрелкой, а значок интеграла - его верхней половиной.
ДИАГНОСТИКА
Код завершения 0 при нормальном исходе и 2 - при любой ошибке.
line too long строка содержит более 1024 символов.
НАЗВАНИЕ
hpt - шестнадцатеричные заплаты
СИНТАКСИС
hpt файл
ОПИСАНИЕ
Утилита hpt читает команды со стандартного ввода и ставит заплаты на файл. Она распознает 3 различных типа команд:
смещение :
Команда позиционирования, указывает смещение от начала файла.
данные
Команда записи данных в файл. Данные задаются как последовательность четного числа шестнадцатеричных цифр. В остальном длина последовательности произвольна.
/ комментарий перевод_строки
Комментарий начинается символом / и продолжается до конца строки.
Все величины интерпретируются как шестнадцатеричные.
ПРИМЕР
Выполнение конвейера
hd f1 | hpt f1
не изменит файл f1.
СМ. ТАКЖЕ
.
НАЗВАНИЕ
hsearch, hcreate, hdestroy - управление хеш-таблицами поиска
СИНТАКСИС
#include <search.h>
ENTRY *hsearch (item, action) ENTRY item; ACTION action;
int hcreate (nel) unsigned nel;
void hdestroy ( )
ОПИСАНИЕ
Функция hsearch предназначена для выполнения поиска в хеш-таблице в соответствии с алгоритмом, описанным в книге Д. Кнута: Искусство программирования для ЭВМ. Т. 3. Сортировка, поиск. - М.: Мир, 1978. Раздел 6.4, алгоритм D.
Функция hsearch возвращает указатель внутрь таблицы на искомые данные. Аргумент item - это структура типа ENTRY (определенная во включаемом файле <search.h>), содержащая два указателя: item.key указывает на сравниваемый ключ, а item.data указывает на любые дополнительные данные, ассоциированные с этим ключом. Указатели на переменные типов, отличных от символьного, следует преобразовывать к типу "указатель на символ". Аргумент action имеет тип ACTION и задает способ действий в случае неудачного поиска: значение ENTER означает, что искомый элемент следует поместить в таблицу; значение FIND означает, что в случае неудачи нужно вернуть пустой указатель NULL.
Функция hcreate выделяет достаточное количество пространства для таблицы и должна вызываться перед использованием функции hsearch. Значением переменной nel является ожидаемое максимальное количество элементов таблицы. Это число можно взять с запасом, чтобы уменьшить среднее время поиска.
Функция hdestroy ликвидирует таблицу поиска, за вызовом этой функции может следовать последующий вызов функции создания таблицы hcreate.
ПРИМЕЧАНИЯ
Функция hsearch использует открытую адресацию с мультипликативной хеш-функцией. Исходный текст функции предоставляет и другие возможности, которые можно выбрать, компилируя hsearch с определением для препроцессора следующих имен:
Для разрешения коллизий использовать списки синонимов. Если выбирается эта опция, то становятся доступными также следующие опции:
ИМЯ
hwconfig - Читать информацию о конфигурации.
СИНТАКСИС
hwconfig[-ffilename][param][param=val]...
ОПИСАНИЕ
Команда hwconfig возвращает информацию о конфигурации, содержащуюся в файле /usi/adm/hwconfig или в файле, определенном по командной строке с опцией -f filename. Используя комбинации оставшихся опций пользователь может из файла конфигурации просмотреть столько информации, сколько ему необходимо. Команда hwconfig показывает все значения аргумента param всего файла конфигурации. Аргумент param может быть допустимым системным параметром. Команда hwconfig показывает только информацию из строки, где аргумент param равен значению val.
ПРИМЕРЫ
Когда Вы вводите:
hwconfig<RETURN>
Производится печать содержимого всего файла /usi/adm/hwconfig.
hwconfig base<RETURN>
Происходит распечатывание всех значений параметра base, найденные в файле /usi/adm/hwconfig.
hwconfig-f conf.base=300 vec=19 <RETURN>
Производится печать всех записей в conf, которые соответсвуют заданным значениям base и vec.
hwconfig name=floppy base<RETURN>
Производится печать для всех записей имени и значение base в файле /usi/adm/hwconfig для драйверов с именем floppy.
ФАЙЛЫ
/usi/adm/hwconfig
НАЗВАНИЕ
hypot, hypotf, cabs, cabsf - функция, вычисляющая эвклидово расстояние
СИНТАКСИС
#include <math.h>
double hypot (x, y) double x, y;
float hypotf(float x, float y)
struct {double x, y;} z;
double cabs(z)
struct {float x, y;} z;
float cabsf(z)
ОПИСАНИЕ
Функция hypot возвращает значение
sqrt (x*x + y*y)
которое вычисляется по методу, исключающему "паразитные" переполнения.
СМ. ТАКЖЕ
.
ДИАГНОСТИКА
Если к переполнению приводит попытка представления корректного результирующего значения, то функция hypot возвращает значение HUGE [см. ], а внешней переменной errno присваивается значение ERANGE.
Изложенная процедура обработки ошибок может быть изменена посредством функции
НАЗВАНИЕ
qsort - быстрая сортировка
СИНТАКСИС
void qsort ((char *) base, nel, sizeof (*base), compar) unsigned int nel; int (*compar) ( );
ОПИСАНИЕ
Процедура qsort реализует алгоритм быстрой сортировки таблицы данных на своем месте.
Аргумент base является указателем на начало таблицы. Nel - число элементов в таблице. Compar - функция сравнения, аргументами которой при вызове служат два указателя на сравниваемые элементы. В соответствии с тем, какое целое число она возвращает: меньшее нуля, равное нулю или большее нуля, первый аргумент считается меньшим, равным или большим по отношению ко второму.
ПРИМЕЧАНИЯ
Указатель на начало таблицы должен иметь тип "указатель на элемент" и преобразовываться к типу "указатель на символ".
В сравнении, осуществляемом функцией compar, не обязательно должен участвовать каждый байт, поэтому элементы таблицы в дополнение к сравниваемым величинам могут содержать произвольные данные.
Порядок, в каком окажутся после сортировки два элемента, считающиеся равными при сравнении, непредсказуем.
СМ. ТАКЖЕ
, , .
в Справочнике пользователя
НАЗВАНИЕ
ctype: isalpha, isupper, islower, isdigit, isxdigit, isalnum, isspace, ispunct, isprint, isgraph, iscntrl, isascii - классификация символов
СИНТАКСИС
#include <ctype.h>
int isalpha (c) int c;
...
ОПИСАНИЕ
Перечисленные выше макросы классифицируют целые значения, являющиеся кодами символов, путем просмотра таблицы. Каждый из макросов является предикатом, возвращающим ненулевое значение как истину, и 0 - как ложь. Макрос isascii определен для любого целого значения. Остальные определены, только если условие isascii истинно, а также для единственного значения, не являющегося кодом ASCII, а именно EOF [-1; см. ].
Ниже перечислены условия, проверяемые каждым из макросов:
СМ. ТАКЖЕ
, .
ДИАГНОСТИКА
Если аргумент какого-либо из перечисленных макросов не принадлежит диапазону допустимых значений, результат непредсказуем.
НАЗВАНИЕ
id - выдача идентификаторов и имен пользователя и группы
СИНТАКСИС
id
ОПИСАНИЕ
Команда id выдает на стандартный вывод сообщение, содержащее идентификатор пользователя, идентификатор группы и соответствующие текстовые имена для текущего процесса. Если действующий и реальный идентификаторы различны, выдаются оба.
СМ. ТАКЖЕ
.
в Справочнике программиста.
НАЗВАНИЕ
ident - идентификация файла по ключевым символам в системе отслеживания версий RCS
СИНТАКСИС
ident [ -q ] [ -V ] [ имя-файла ... ]
ОПИСАНИЕ
Команда ident ищет подстроки вида $ключевой-символ: текст$ в заданных файлах, а если они не указаны, то в стандартном вводе.
Строки такого вида вставляются в файл автоматически командой . Флаг -q подавляет сообщение об отсутствии искомых подстрок. Флаг -V сообщает номер версии.
Программа ident работает как с текстовыми файлами, так и с двоичными. Например, если программа на C в файле f.c содержит
#include
static char const rcsid[] = "$Id: f.c,v 5.4 1993/11/09 17:40:15 eggert Exp $"; int main() { return printf("%s\n", rcsid) == EOF; }
и f.c откомпилирован в файл f.o, тогда команда
ident f.c f.o
сообщит:
f.c: $Id: f.c,v 5.4 1993/11/09 17:40:15 eggert Exp $ f.o: $Id: f.c,v 5.4 1993/11/09 17:40:15 eggert Exp $
Следует заметить, что если программа содержит строку, подобную упомянутой выше, но не использует ее никак, то выдаются предупреждающие сообщения, а слишком умные оптимизаторы удаляют ее из исполняемого файла без изменения результатов его работы. Потому лучше использовать эти строки так, как указано в примере.
Команда ident ищет все подстроки вида $ключевой-символ: текст$ даже если RCS не поддерживает такого ключевого символа, что удобно, если вы ищете выражения типа $XConsortium$.
КЛЮЧЕВЫЕ СЛОВА И ИХ ЗНАЧЕНИЯ:
Ниже приведен список ключевых символов, поддерживаемый . По умолчанию используется Всемирное Время, (UTC, иногда называемое Гринвичским GMT) но флаг -zzone может это изменить.
$Author$ Имя (login name) пользователя зарегистрировавшего данную версию.
$Date$ Дата и время регистрации версии. Флаг -zzone добавит числовое значение часового пояса, по умолчанию используется Всемирное Время.
$Header$ Стандартный заголовок. Содержит полное имя файла с абсолютной формой указания пути, номер версии, дату и время регистрации, автора, статус и имя пользователя, забронировавшего версию для внесения изменений (если это так). Флаг -zzone добавит числовое значение часового пояса, по умолчанию используется Всемирное Время.
$Id$ То же, что и $Header$, но имя файла не содержит путь.
$Locker$ Имя пользователя, забронировавшего версию для внесения изменений. Пустая строка, если файл не забронирован.
$Log$ Регистрационная запись, внесенная при регистрации со стандартным заголовком впереди. С точки зрения команды ident ничем не отличается от такого символа, как, скажем, $RCSfile$
$Name$ Символическое имя, использованное при извлечении файла из архива. Например, co -rJoe породит $Name: Joe $ . Просто co породит просто $Name: $.
$RCSfile$ Имя файла, без пути.
$Revision$ Номер версии.
$Source$ Полное имя файла с абсолютным заданием пути.
$State$ Статус заданный флагом -s команд или .
Если для придания идентификационным маркерам красивого вида потребуются нижеследующие символы, то они могут быть заданы с помощью обратной косой черты.
символ представление tab \t newline \n space \040 $ \044 \ \\
СМ. ТАКЖЕ
, , , , , , , rcsfile(5)
Walter F. Tichy, RCS--A System for Version Control, Software--Practice & Experience 15, 7 (July 1985), 637-654.
Copyright (C) Walter F. Tichy, Paul Eggert.
НАЗВАНИЕ
idleout - отключает неработающих пользователей.
СИНТАКСИС
idleout [minutes | hours:minutes]
ОПИСАНИЕ
Команда idleout следит за деятельностью на линии и отключает пользователей, чьи терминалы бездействуют дольше установленного времени.
По умолчанию эта утилита использует файл /etc/default/idleout, в котором указывается, сколько часов пользовательский терминал может оставаться в бездействии, прежде чем будет отключен. В этом файле имеется одна запись:
IDLETIME=time
Формат времени идентичен формату, который используется в командной строке. Если в командной строке задается параметр времени, то его значение перебивает значение времени, установленное в этом файле. Заметьте, что если время бездействия устанавливается равным 0, то отслеживание не выполняется, и бездействующие пользователи не отключаются.
ФАЙЛЫ
/etc/default/idleout /etc/utmp /etc/wtmp
СМ. ТАКЖЕ
, getut(2),
ПРИМЕЧАНИЯ
Только привилегированный пользователь может запускать эту программу.
ИМЯ
imacct - Формирует отчет об учетной информации IMAGEN.
СИНТАКСИС
imacct acctfile
ОПИСАНИЕ
Команда imacct считывает файл учетной информации IMAGEN - acctfile и формирует отчет по числу печатаемых страниц и файлов. Она подсчитывает эту информацию по каждому пользователю, по каждой главной вычислительной машине и обеспечивает итоги и процентные соотношения.
Файл учетной информации генерируется - принтерным обработчиком IMAGEN, использующим протокол серии "протокол последовательной передачи пакетов".
ФАЙЛЫ
/usr/adm/imagen По умолчанию acctfile записан imagen.spp.
СМ. ТАКЖЕ
imagen(5),
ЗАМЕЧАНИЯ
Опция сортировки не доступна.
АВТОР
Корпорация IMAGEN.
НАЗВАНИЕ
imagen.sbs, imagen.pbs, imagen.spp, imagen.remote - Интерфейсные шрифты принтера IMAGEN.
СИНТАКСИС
imagen.sbs требует копии заголовков файлов режима пользователя imagen.pbs требует копии заголовков файлов режима пользователя imagen.spp требует копии заголовков файлов режима пользователя imagen.remote требует копии заголовков файлов режима пользователя
ОПИСАНИЕ
Шрифты imagen представляют собой интерфейсные программы для спулера XENIX System V для принтеров IMAGEN. Для печати они выбирают следующие виды файлов для печати: вход troff(1), troff выход (С/А/Т формат), формат imPRESS, DVI формат (производимый в общем случае) и прямой текст. Правильный интерфейсный шрифт imagen обычно вводится с помощью программы .
imagen.sbs использует "последовательный протокол байтового потока", обеспечиваемый isbs.
imagen.pbs использует "параллельный протокол байтового потока", обеспечиваемый ipbs.
imagen.spp использует последовательный "протокол чередующегося пакета", обеспечиваемый .
imagen.remote посылает задание печати на дистанционный компьютер с помощью или . Команда, которую надо использовать, определяется в файле /usp/spool/lp/remote, и устройство "принтер", определяемое lpadmin (с использованием флага -v), должно быть /dev/null.
Распознаваемые параметры :
<
ИМЯ
imprint - Печатает текстовые файлы на печатающем устройстве IMAGEN.
СИНТАКСИС
imprint[options][file...]
ОПИСАНИЕ
Команда iprint создает очереди из указанных файлов для печати на печатающем устройстве IMAGEN, используя одну из двух команд или , и передает корректные опции команде . Если файлы не заданы, то производится считывание стандартного ввода.
ОПЦИИ
-Iflag Передает признак flag команде ipr.
-pflag Передает признак flag одной из команд pr или cat.
-Pprinter Печатает выводимую информацию на устройсве печати, заданном аргументом printer. По умолчанию аргумент printer определяется переменной PRINTER в файле /etc/default/imagen, который считывается командой ipr.
-cn Печатает n копий. При этом включается постраничное упорядочивание.
-hbannar Строка, указанная аргументом banner, передается обеим командам pr(-h) и ipr(-f) в качестве заголовка для этого задания.
-ln Устанавливает длину страницы в n строк. Таким же образом можно установить межстроковые промежутки устройства печати, которое выполняет интервалы между строками.
-n Для печати файла использует команду cat вместо команды pr.
-wn Устанавливает ширину строки в n символов. Ширина строки более 80 символов печатается в горизонтальной ориентации (132 колонки).
-2 Печатает две логические страницы на физической странице ("2-up").
-C Подавляет постраничное упорядочение (смотрите выше -c).
-F Подавляет возврат страниц (который установлен по умолчанию).
-J Подавляет формирование страницы заголовка задания.
-L Печатает в горизонтальном режиме, по ширине 132 колонки.
-O Печатает рамки страниц.
-R Печатает линейки страниц (раз в каждые две строки).
-d Печатает некоторую информацию в целях отладки.
-on Вывод информации производится со смещением в n позиций символов относительно левого края.
-Tn Вывод информации начинается с n 1/48-ых дюйма от верхнего края каждой страницы.
СМ. ТАКЖЕ
, ,
ЗАМЕЧАНИЯ
Некоторые параметры могут быть заменены при помощи языка управления документацией в самом файле. А также признак -с после признака -С, тем не менее, включает упорядочивание страниц.
Если задание содержит ошибки, обнаруженные устройством печати, то всегда формируется страница заголовка задания.
Опция -T имеет смысл только в том случае, если языком печатающего устройства IMAGEN является "daisy". Это может быть установлено с помощью -I-Ldaisy. Если именно daisy является языком печатающего устройства, то опция -o использует элементы в 1/120 дюйма вместо ширины символа.
Старые версии команды imprint пересылают неопознанные аргументы в одну из команд pr или cat. Это в последующих версиях не поддерживается и в одной из команд pr или cat, должны быть использованы для передачи неподошедшего аргумента option, либо опция -p либо разделитель -- "end of options" ("конец перечисления опций").
АВТОР
Корпорация IMAGEN.
НАЗВАНИЕ
infocmp - сравнение или печать информации о характеристиках терминалов, хранящейся в базе данных terminfo
СИНТАКСИС
infocmp [-d] [-c] [-n] [-I] [-L] [-C] [-r] [-u] [-s [d] [i] [l] [c]] [- [-w ширина] [-A каталог] [-B каталог] [терминал ...]
ОПИСАНИЕ
Утилита infocmp используется для сравнения элементов базы данных , для перезаписи элемента terminfo, определяемого по значению ключевого поля use=, а также для вывода в различных форматах скомпилированного описания характеристик терминалов [см. ]. Во всех случаях сначала печатаются булевы поля, затем числовые, а затем поля, содержащие цепочки символов.
Терминалы задаются своими именами.
Подразумеваемые опции
Если опции не указаны, подразумевается опция -I. При этом, если указано несколько терминалов, подразумевается еще и опция -d.
Опции сравнения [-d] [-c] [-n]
Утилита infocmp сравнивает описание характеристик первого указанного терминала с остальными указанными терминалами. Если какая-либо из характеристик присутствует только у одного из терминалов, возвращается значение, зависящее от типа характеристики: F для булевой, -1 для числовой, NULL для характеристики, описываемой цепочкой символов.
Опции получения исходного листинга [-I] [-L] [-C] [-r]
НАЗВАНИЕ
init - инициализация управления процессами
СИНТАКСИС
/etc/init [0] [1] [2] [3] [4] [5] [6] [S] [s] [Q] [q] [a] [b] [c]
ОПИСАНИЕ
Процесс init является главным диспетчером процессов. Его основная задача - создание процессов в соответствии со схемой, хранящейся в файле /etc/inittab [см. ]. Схема обычно предписывает запуск процессов getty для всех терминальных линий, посредством которых пользователи могут войти в систему. Init также контролирует работу автономных процессов, требующихся конкретной системе.
С точки зрения процесса init система в любой момент времени находится на определенном уровне выполнения. Уровень_выполнения может рассматриваться как программная конфигурация системы, причем каждая конфигурация допускает существование только определенной группы процессов. Процессы, запускаемые init'ом на каждом уровне выполнения, описаны в файле inittab. Возможны восемь уровней выполнения: от 0 до 6, S и s. Уровень выполнения изменяется при запуске init'а привилегированным пользователем. Запущенный пользователем init посылает соответствующие сигналы исходному процессу init, созданному при перезагрузке системы, сообщая, на какой уровень выполнения надо перейти.
Процесс init запускается в рамках системы UNIX в качестве последнего шага процедуры загрузки. Сначала init ищет в файле /etc/inittab строку initdefault [см. ]. Если таковая имеется, то init использует ее для определения начального значения уровня выполнения. Если такой строки нет, то init запрашивает начальное значение уровня выполнения у пользователя через виртуальную системную консоль, /dev/syscon. Если в ответ вводится буква S или s, init переходит в однопользовательский режим (SINGLE USER). Это единственный уровень выполнения, который не требует наличия заранее подготовленного файла /etc/inittab. Иными словами, если файл inittab не существует, то допускается работа только в однопользовательском режиме. При этом виртуальная консоль открывается на чтение и запись и сразу же выполняется команда /bin/su -root. Для выхода из однопользовательского режима следует использовать init, так как при завершении shell'а по концу файла init только переинициализирует однопользовательский режим.
Если во время загрузки виртуальная системная консоль (/dev/syscon) связана не с физической системной консолью, подключенной к процессору (/dev/console), то при запросе нового уровня выполнения процесс init может потерпеть неудачу.
В ответ на вопрос о новом уровне выполнения можно ввести только одну из цифр от 0 до 6 либо буквы S или s. Любой другой ответ будет отвергнут и вопрос будет задан вновь.
При вводе S или s init действует как описано выше для однопользовательского режима и, кроме того, связывает /dev/syscon с терминалом пользователя, делая его виртуальной системной консолью. На физическую консоль /dev/ console выводится сообщение о переназначении виртуальной консоли.
При первом запуске init'а и при каждом переходе из однопользовательского режима на другой уровень выполнения, init устанавливает характеристики виртуальной консоли, /dev/syscon, с помощью вызова , в соответствии с хранящимися в файле /etc/ioctl.syscon характеристиками. Этот файл записывается процессом init при переходе в однопользовательский режим.
Если в качестве ответа введена цифра от 0 до 6, то init устанавливает соответствующий уровень выполнения.
Если init впервые перешел на уровень выполнения, отличный от однопользовательского, то сначала файл inittab просматривается в поисках строк, где в качестве действия указаны boot или bootwait. Процессы, соответствующие этим строкам, запускаются перед какой-либо другой обработкой inittab при условии, что введенный уровень выполнения совпадает с указанным в строке. Таким образом, перед тем, как пользователи получат доступ к системе, могут быть произведены некоторые начальные действия, такие, например, как монтирование файловых систем. Затем в файле inittab ищутся все строки, которые должны быть обработаны на данном уровне выполнения.
Уровень выполнения 2 определяется как содержащий все процессы для терминалов и демоны, которые должны работать в многопользовательском окружении, поэтому данный режим называют многопользовательским (MULTI-USER).
Уровень выполнения 3 предназначен для работы с системой разделения удаленных файлов. Он является расширением многопользовательского режима.
Уровень выполнения 4 можно определить как некий дополнительный многопользовательский режим; он не является необходимым для работы системы и обычно не используется.
Можно запустить init, указав в качестве аргумента один из псевдоуровней a, b или c. Реальный уровень выполнения при этом не изменяется, а в смысле порождения процессов псевдоуровни не отличаются от реальных. Обычно псевдоуровни используют для выполнения группы команд.
Для многопользовательского режима файл inittab подготавливается таким образом, чтобы init создавал процесс для каждого пользовательского терминала.
Каждый процесс shell, запущенный с терминала, в конце концов будет завершен либо из-за получения символа конца файла, либо из-за освобождения линии. Когда init получает сигнал, о том, что запущенный им процесс завершен, он записывает этот факт и причину завершения в файлы /etc/utmp и /etc/wtmp, если последний существует [см. ]. История процессов, запускаемых init'ом, хранится в файле /etc/wtmp.
Для запуска процессов, упомянутых в файле inittab, init читает весь файл и для каждой строки, процесс в которой требует перезапуска, порождается потомок. После запуска всех процессов, указанных в файле inittab, init ожидает, пока либо один из его потомков завершится, либо будет получен сигнал об ошибке питания, либо порожденный пользователем init предпишет изменить уровень выполнения. Когда одно из перечисленных условий становится истинным, init вновь просматривает файл inittab. Добавлять строки в файл inittab можно в любое время, однако init все равно будет ожидать одно из трех вышеуказанных событий. Чтобы заставить init немедленно обработать файл inittab, его следует разбудить командами init Q или init q.
Если init получает сигнал об ошибке питания (SIGPWR), он просматривает файл inittab в поисках строк с действиями powerfail и powerwait. Соответствующие этим строкам процессы (если позволяет уровень выполнения) будут выполнены в первую очередь. Таким образом, init может выполнять различные процедуры при завершении работы операционной системы. Заметим, что в однопользовательском режиме выполняются только строки powerfail и powerwait.
Если процессом init получен запрос на изменение уровня выполнения, он посылает сигнал-предупреждение SIGTERM всем процессам, которые не должны работать на требуемом уровне выполнения. Затем, выждав 5 секунд, init уничтожает их сигналом SIGKILL.
Для формирования подразумеваемого окружения процессов init читает файл /etc/TIMEZONE.
ФАЙЛЫ
НАЗВАНИЕ
init, inir - Инициализация управления процессами.
СИНТАКСИС
/etc/init /etc/inir
ОПИСАНИЕ
Программа init вызывается на последнем шаге процедуры начальной загрузки и на первом шаге включения терминалов для вводов пользователей. init является одной из трех программ (init, getty (7) и login (1)), используемых для инициализации системы с целью вычисления.
init создает процесс для каждого терминала, в который может войти пользователь. Он начинается с открытия консольного усторйства /dev/console для считывания и записи. Затем он вызывает командный процессор, требующий пароль для запуска системы в режиме обслуживания. Так как при этом считывается файл EOF, система входит в "многопользовательский режим". Если вводится корневой пароль, командный процессор стартуется и подключается к консоле. Когда этот процессор выключается, система переходит к "многопользовательскому режиму".
Если система будет автоматически загружена во время начальной загрузки, init будет автоматически передан -a флаг при старте. init также передает этот флаг программам, которые она выполняет, с тем, чтобы они могли выбрать различное поведение при условиях .
Пользователь может использовать команду boot, и файловая система может быть загрязнена. В этом случае 2inir 0 приглашает пользователя, спрашивающего, где выполнять fsck (8). (Смотри более подробно fsck (8).)
Пользователь может использовать boot, и файловая система может быть чистой. В этом случае inir считывает команды из файла /etc/rc. Это выполняется с помощью процедур "multi-user/rc" и "getty/login", описанных ниже.
"multi-user/rc" procedure: Как только файловая система становится чистой, командный процессор завершает свою работу, и init выполняет несколько шагов для того чтобы начать обычное действие. Она вызывает процессор и считывает команды в /etc/ttys файле. Этот командный файл выполняет служебные задачи, такие как удаление временных файлов, монтирование файловых систем и запуск демонов. Затем он читает /etc/ttys файл и делит на несколько частей для того, чтобы начать процесс для каждого терминального устройства в файле. Каждая строка в /etc /ttys печатает состояние строки (0 для закрытой и 1 для открытой), режим строки и последовательную строку (смотри ttys (3)). Каждый процесс открывает соответственную последовательную строку для чтения и записи, присваивая файловые дискрипторы 0 , 1 и 2 сторке и устанавливая ее как стандартные файлы ввода, вывода и ошибок. Если последовательная строка связана с модемом, процесс задерживает открытие строки до тех пор, пока кто-нибудь не вызовет ее, и в этой строке не осуществится передача.
НАЗВАНИЕ
inittab - схема процесса init
ОПИСАНИЕ
Файл /etc/inittab содержит сценарий для исполнения программой роли главного диспетчера процессов. Самым заметным из диспетчеризуемых является процесс инициализации терминальных линий /etc/getty. Другие примеры - демоны и shell.
Файл inittab состоит из строк, имеющих следующий формат (важен и порядок строк):
имя:уровень_выполнения:действие:процесс
Каждая строка оканчивается символом перевода строки, однако его экранирование посредством символа \ позволяет иметь строки продолжения. В любом случае длина строки не должна первышать 512 символов. В поле процесс могут быть включены комментарии согласно правилам shell'а. Комментарии к строкам, ответственным за запуск процесса , показываются командой . Предполагается, что в этих комментариях содержится информация о линии, например дислокация соответствующего терминала. На количество строк в файле inittab не наложено никаких ограничений (только на их длину). Поля строк имеют следующий смысл:
имя
Имя, состоящее из одного или двух символов, должно однозначно идентифицировать строку. уровень_выполнения
Это поле определяет уровень выполнения, при котором строка будет обрабатываться. Уровень выполнения непосредственно соответствует конфигурации процессов в системе. Каждому процессу, запущенному init'ом, присваивается уровень или уровни выполнения, при которых тот может существовать. Уровни выполнения обозначаются цифрами от 0 до 6. Например, если система находится на уровне 1, то будут обработаны только строки, содержащие единицу в поле уровень_выполнения. Когда к init'у обращаются с запросом о смене уровня выполнения, всем процессам, которые не должны существовать на новом уровне, посылается предупреждающий сигнал SIGTERM и дается 20 секунд на завершение, после чего "лишние" процессы принудительно терминируются сигналом SIGKILL. Можно указать несколько допустимых уровней выполнения, если задать ряд цифр из диапазона от 0 до 6. Если уровень_выполнения вообще не указан, то считается, что процесс может выполняться на любом уровне. Существует также три дополнительных значения, a, b и c, которые могут быть указаны в данном поле, хотя они и не являются реальными уровнями выполнения. Строки с такими значениями уровня выполняются только по запросу процесса telinit [см. ] независимо от текущего уровня выполнения. Отметим, что уровни a, b, c не могут быть установлены, а запрос на выполнение помеченных ими процессов не меняет текущий уровень выполнения. Кроме того, подобные процессы не уничтожаются при смене уровня выполнения. Уничтожаются они, только если соответствующие им строки содержат значение off в поле действие, если эти строки удаляются из файла /etc/inittab, или если init переходит в однопользовательский режим. действие
ИМЯ
innconfval - получает параметры конфигурации InterNetNews
СИНТАКСИС
innconfval [ -f ] [ parameter... ]
ОПИСАНИЕ
Innconfval печатет значения параметров, указанных в командной строке. Значения берутся из файла inn.conf(5) и описываются там же.
ИСТОРИЯ
Написана Rich $alz для InterNetNews.
Эта версия 1.3, датированная 1993/01/29.
СМ. ТАКЖЕ
libinn(3), inn.conf(5).
НАЗВАНИЕ
inode - формат описателя файла
СИНТАКСИС
#include <sys/types.h> #include <sys/ino.h>
ОПИСАНИЕ
В файловой системе описатель обычного файла или каталога имеет следующую структуру, определенную во включаемом файле <sys/ino.h>:
/* Структура описателя файла в том виде, как она хранится на диске. */
struct dinode { ushort di_mode; /* Режим и тип файла */ short di_nlink; /* Количество ссылок на файл */ ushort di_uid; /* Идентификатор владельца */ ushort di_gid; /* Идентификатор группы */ off_t di_size; /* Размер файла в байтах */ char di_addr[40]; /* Адреса блоков на диске */ time_t di_atime; /* Время последнего доступа */ time_t di_mtime; /* Время последней модификации */ time_t di_ctime; /* Время последнего изменения статуса файла */ };
/* Из 40 байт для адресов используется 39: это 13 адресов по 3 байта каждый. */
По поводу типов off_t и time_t см. .
СМ. ТАКЖЕ
, , .
НАЗВАНИЕ
install - установка новых версий команд
СИНТАКСИС
/etc/install [-c каталог_1] [-f каталог_2] [-i] [-n каталог_3] [-m режим_доступа] [-u пользователь] [-g группа] [-o] [-s] файл [каталог ...]
ОПИСАНИЕ
Утилита install чаще всего используется в "make файлах" [см. ] для установки новой версии (инсталляции) файла (обычно измененной реализации какой-либо команды) в определенное место файловой системы. Каждый файл инсталлируется с помощью копирования его в соответствующий каталог, вследствие чего сохраняются первоначальные режим доступа и владелец. Утилита выдает сообщения о том, какие файлы заменяются или создаются и где они находятся.
Если не указаны опции или каталоги, утилита install будет искать файл с указанным именем в стандартном наборе каталогов (/bin, /usr/bin, /etc, /lib и /usr/lib в указанном порядке). Как только файл найден, install сообщает о его обновлении и выполняет копирование новой версии. Если файл не найден, утилита констатирует это и прекращает работу без каких-либо иных действий.
Если после файла указан один или несколько каталогов то поиск будет выполняться сначала в них, а затем в стандартных каталогах.
Утилита install обрабатывает следующие опции:
-c каталог_1
Новая команда (файл) инсталлируется в специфицированный каталог_1 только в том случае, если команда там не найдена. В противном случае install выдает сообщение о том, что файл уже существует и кончает работу, не изменяя его. Другие каталоги (из стандартного списка или указанные после файла) не рассматриваются. Опция может использоваться отдельно или вместе с опцией -s.
-f каталог_2
Файл инсталлируется в каталог_2 независимо от того, существует там одноименный файл или нет. Если инсталлируемый файл еще не существует, то режим доступа и владелец нового файла получат значения 755 и bin соответственно. Если файл уже существует, то режим доступа и владелец останутся прежними. Другие каталоги (из стандартного списка или указанные после файла) не рассматриваются. Опция может использоваться отдельно или вместе с опциями -o или -s.
-i Игнорировать стандартный список каталогов, поиск производится только в каталогах, указанных после файла. Опция может использоваться отдельно или вместе с любой другой опцией, кроме -c и -f.
-n каталог_3
НАЗВАНИЕ
install - программа-оболочка инсталляции
СИНТАКСИС
/etc/install [device]
ОПИСАНИЕ
/etc/install в программе используется для инсталляции дискет дистрибуции (или прикладных программ) системы UNIX. Она выполняет следующие функции:
Выдает подсказки для установки дискет. Выделяет файлы с помощью утилиты . Выполняет программы /once/init.* на каждой дискете, после того, как они будут выделены. Удаляет программы /once/init.* по окончании инсталляции.
Необязательный аргумент в командной строке задает используемое устройство. По умолчанию этим устройством является /dev/install, которое связывается с /dev/rfd0.
ФАЙЛЫ
/etc/install /once/init.*
НАЗВАНИЕ
intro - введение в описание команд и прикладных программ
ОПИСАНИЕ
В этом разделе описаны в алфавитном порядке общедоступные команды. Некоторые различия в назначении команд отражены в заголовках:
СИНТАКСИС
Если не оговорено противное, описываемые в этом разделе команды ожидают опции и другие аргументы в следующем формате:
имя [-опция ...] [аргумент_команды ...]
[ ] Окружают опцию или аргумент, который является необязательным.
... Означает, что предыдущая опция или аргумент могут быть повторены несколько раз.
имя Имя выполняемого файла.
опция (Перед ней всегда стоит знак -) флаг... или флаг аргумент_опции[,...]
флаг Одна буква, представляющая опцию без аргумента. Заметим, что несколько флагов могут быть сгруппированы после одного знака - (см. ниже правило 5).
аргумент_опции
Аргумент (цепочка символов), согласованный с указанным перед ним флагом. Заметим, что следующие за флагом группы аргументов_опции должны отделяться друг от друга либо запятыми, либо пробелами, но в последнем случае аргументы следует заключать в кавычки (см. ниже правило 8).
аргумент_команды Маршрутное имя (или другой аргумент команды), не начинающийся со знака -, или знак - как таковой, обозначающий стандартный ввод.
Стандартный синтаксис команд: правила
Эти правила не поддерживаются всеми имеющимися на данный момент командами, но все новые команды будут удовлетворять им. Команда должна использоваться всеми shell-программами для разбора позиционных параметров и проверки опций на корректность. Она поддерживает правила 3-10, описанные ниже. Выполнение остальных правил должны обеспечивать сами команды.
Имя команды должно иметь длину от двух до девяти символов. Имя команды должно состоять только из малых букв и цифр. Флаги должны состоять только из одного символа. Перед каждой опцией должен стоять знак -. Опции без аргументов могут быть сгруппированы после указания одного знака -. Первый аргумент_опции должен быть отделен от флага пробелом. Аргумент_опции не может быть необязательным. Группы аргументов_опции, следующие за флагом, должны отделяться друг от друга либо запятыми, либо пробелами, но в последнем случае аргументы следует заключать в кавычки, например -o xxx,z,yy или -o "xxx z yy". Все опции должны указываться перед аргументами_команды. Для обозначения конца опций может использоваться последовательность --. Относительный порядок опций не должен играть роль. Относительный порядок аргументов_команды может играть роль в зависимости от используемой команды. Знак -, перед которым и после которого стоит пробел, может использоваться только для обозначения стандартного ввода.
НАЗВАНИЕ
intro - введение в описание системных вызовов и номеров ошибок
СИНТАКСИС
#include <errno.h>
ОПИСАНИЕ
В этом разделе описываются все системные вызовы. Большинство из них имеют одно или несколько значений кода завершения при ошибке. Состояние ошибки определяется возвращением значения, невозможного в другом случае. Почти всегда это -1 или указатель NULL; детали оговариваются при описании каждого вызова. Номер ошибки доступен также через внешнюю переменную errno. Эта переменная не обнуляется при успешных вызовах, поэтому имеет смысл использовать ее значение только в случае обнаружения ошибки.
В описании каждого системного вызова приводится список возможных номеров ошибок. Ниже приводится полный список номеров ошибок и их мнемонических имен, как они определены во включаемом файле <errno.h>.
1 EPERM Не владелец
Обычно эта ошибка указывает на попытку модифицировать файл, доступ к которому разрешен только его владельцу и суперпользователю. 2 ENOENT Не найден файл или каталог
Эта ошибка имеет место, если имя файла указано и файл должен был бы существовать, однако его нет; или если один из каталогов, указанных в маршрутном имени, не существует. 3 ESRCH Нет такого процесса
Процесс, соответствующий заданному идентификатору процесса (pid) в системном вызове или , не может быть найден. 4 EINTR Прерывание системного вызова
Асинхронный сигнал (такой как сигнал прерывания или выхода), перехватываемый пользователем, пришел во время выполнения системного вызова. Если после обработки сигнала будет продолжено выполнение программы, то системный вызов завершится с ошибкой. 5 EIO Ошибка ввода/вывода
Обнаружена ошибка ввода/вывода. Эта ошибка может иногда иметь место во время вызова, который следует за вызовом, к которому на самом деле относится эта ошибка. 6 ENXIO Неверное устройство или адрес
Ввод/вывод в специальный файл ссылается на устройство, которое не существует; или исчерпаны лимиты устройства для ввода/вывода. Эта ошибка может также иметь место, если магнитофон находится в пассивном состоянии или не установлен пакет дисков. 7 E2BIG Длинный список аргументов
НАЗВАНИЕ
intro - введение в описание команд и прикладных программ для обслуживания системы
ОПИСАНИЕ
В этом разделе описаны в алфавитном порядке команды, которые используются в основном для обслуживания системы и в администраторских целях. Команды из этого раздела должны использоваться вместе со средствами, описанными в Справочниках пользователя и программиста. Ссылки с номерами разделов 1M, 7 и 8 указывают на статьи из настоящего Справочника. Раздел 1 входит в Справочник пользователя, а разделы 2, 3, 4, 5 - в Справочник программиста.
СИНТАКСИС
Если не оговорено противное, описываемые в этом разделе команды ожидают опции и другие аргументы в следующем формате:
имя [-опция ...] [аргумент_команды ...]
[ ] Окружают опцию или аргумент, который является необязательным.
... Означает, что предыдущая опция или аргумент могут быть повторены несколько раз.
имя Имя выполняемого файла.
опция (Перед ней всегда стоит знак -)
флаг... или флаг аргумент_опции[,...]
флаг Одна буква, представляющая опцию без аргумента. Заметим, что несколько флагов могут быть сгруппированы после одного знака - [см. , правило 5].
аргумент_опции
Аргумент (цепочка символов), согласованный с указанным перед ним флагом. Заметим, что следующие за флагом группы аргументов_опции должны отделяться друг от друга либо запятыми, либо пробелами, но в этом случае они должны также быть заключены в кавычки [см. , правило 8].
аргумент_команды
Маршрутное имя (или другой аргумент команды), не начинающийся со знака -, или знак - как таковой, обозначающий стандартный ввод.
ПРИМЕЧАНИЯ
Информацию, относящуюся к системе разделения удаленных файлов (РУФ), следует принимать во внимание, только если на Вашей установке есть соответствующее аппаратное и программное обеспечение; в стандартную конфигурацию оно не входит.
СМ. ТАКЖЕ
, в Справочнике пользователя.
в Справочнике программиста.
ДИАГНОСТИКА
При завершении каждая команда возвращает код, занимающий два байта: первый байт содержит системный код завершения, а второй (в случае нормального завершения) содержит пользовательский код, возвращаемый программой [см. и ]. Первый байт при нормальном завершении равен 0. Второй байт принято возвращать нулевым при успешном завершении и ненулевым при наличии ошибок (неверные параметры, неверные или недоступные данные и т.д.) не позволяющих достичь цели. Пользовательский код завершения может называться также статусом завершения или кодом возврата и описывается только при наличии специальных соглашений.
СЮРПРИЗЫ
Увы, многие команды не придерживаются описанного выше синтаксиса.
НАЗВАНИЕ
intro - Введение в аппаратно-зависимые средства и файлы.
ОПИСАНИЕ
В этом разделе (HW) содержится информация, необходимая для обслуживания системы. Здесь описываются файлы, устройства, таблицы и программы, которые нужны для поддержания всей системы и непосредственно связаны с типом компьютера, на котором функционирует система. Этот раздел предназначен для компьютеров с центральными процессорами 86-го семейства INTEL: 8086, 8088, 80286 и 80386.
НАЗВАНИЕ
io - спецификация дисковых устройств
ОПИСАНИЕ
Файл /usr/include/sys/io.h содержит основные параметры для различных типов дисковых устройств:
Диски с SMD интерфейсом. Диски с SCSI интерфейсом. Дискеты.
для различных технологий изготовления:
Несъемные диски типа "Винчестер". Пакеты магнитных дисков. Несъемные/с емные диски.
и для различных скоростей вращения и емкости. Эти основные параметры описывают дисковые устройства для соответствующих драйверов ввода/вывода.
Для каждого дискового устройства в файле io должна быть строка вида
#define v_xxx параметры
Параметры соответствуют элементам (начиная со 2-го) структуры dkvol, описанной во включаемом файле <sys/ disk.h>. Следовательно, строка
#define v_xxx 0, 9, 0, 2, 850, 0, 0, 3, 3
описывает диск с 850 цилиндрами, так как это пятый параметр, а в структуре dkvol поле с числом цилиндров является шестым.
Связь между описанием диска и элементом таблицы томов драйвера дисков устанавливается во время конфигурирования системы. Описание диска помещается в и ассоциируется с драйвером. Позиция в таблице томов определяет младший номер устройства.
Параметры и их значение:
тип_диска Параметр, зависящий от драйвера дисков. секторов_на_дорожке Количество килобайтных секторов, размещающихся на дорожке. смещение_в_номерах_головок Добавляется к номеру головки перед установкой головок; обычно 0. На некоторых устройствах тома различаются по битам в номере головки. число_головок Количество головок чтения/записи на устройстве. число_цилиндров Количество цилиндров на устройстве. скорость_вращения Параметр, зависящий от драйвера дисков.
Следующая информация используется при форматировании для оптимизации доступа к диску.
чередование_секторов
Параметр, зависящий от аппаратуры, определяющий расположение секторов на дорожке. Числа 0 и 1 означают, что сектора будут располагаться без чередования. Число 3 означает, что после чтения одного сектора контроллеру требуется время чтения еще двух секторов для передачи данных в память. смена_головки
НАЗВАНИЕ
ioctl - управление устройствами
СИНТАКСИС
ioctl (fildes, command, arg) int fildes, command;
ОПИСАНИЕ
Системный вызов ioctl выполняет различные управляющие действия над обычными устройствами и псевдоустройствами. Для файлов, не являющихся псевдоустройствами, действия, которые выполняет этот системный вызов, зависят от устройства. Аргументы command и arg передаются в файл, ассоциированный с дескриптором fildes, и интерпретируются драйвером устройства. Подобный способ управления для обычных устройств используется редко; основные операции ввода/вывода выполняются с помощью системных вызовов и .
Действия над псевдоустройствами, выполняемые с помощью системного вызова ioctl, описаны в .
Аргумент fildes - это открытый дескриптор файла, являющегося устройством. Аргумент command задает выполняемые действия и зависит от устройства, с которым ведется работа. Наконец, arg задает дополнительную информацию, которая может потребоваться для выполнения указанных действий. Тип аргумента arg зависит от конкретного управляющего действия и является либо целым, либо указателем на специфичную для устройства структуру.
Отметим, что существуют некоторые общие действия, которые выполняются драйверами различных устройств, например общий интерфейс с терминалом [см. ].
Системный вызов ioctl завершается неудачей для файлов любого типа, если выполнено хотя бы одно из следующих условий:
[EBADF] Аргумент fildes не является корректным дескриптором открытого файла. [ENOTTY] Аргумент fildes не связан с устройством, драйвер которого отрабатывает управляющие функции. [EINTR] Во время выполнения системного вызова перехвачен сигнал.
Системный вызов ioctl также завершается неудачей, если драйвер устройства обнаружит ошибку. В этом случае ошибка возвращается системным вызовом без изменений. Конкретный драйвер может вырабатывать не все ошибки из перечисленных ниже:
[EFAULT] Действие command требует обмена данными с буфером, указанным с помощью аргумента arg, но сам буфер или его часть находятся за пределами отведенного процессу адресного пространства. [EINVAL] Значения аргументов command или arg некорректны для данного устройства. [EIO] Обнаружена ошибка ввода/вывода. [ENXIO] Значения аргументов command или arg корректны для данного драйвера, но над данным устройством указанный запрос не может быть выполнен. [ENOLINK] Аргумент fildes является дескриптором файла на удаленном компьютере, связи с которым в данный момент нет.
Ошибки псевдоустройств описаны в .
СМ. ТАКЖЕ
, в Справочнике администратора.
ДИАГНОСТИКА
При успешном завершении результат зависит от управляющего действия, но должен быть неотрицательным целым числом. В случае ошибки возвращается -1, а переменной errno присваивается код ошибки.
НАЗВАНИЕ
ios - дополнительный сегмент ввода/вывода
СИНТАКСИС
#include <sys/user.h>
ОПИСАНИЕ
Использование дополнительного сегмента ввода/вывода позволяет осуществить прямой доступ к областям физической памяти, например к видеопамяти графического контроллера, регистрам периферийных устройств или еще к чему-нибудь на системной шине. Доступ к такому сегменту обеспечивается с помощью дополнительной информации, введенной в структуру user. Драйвер ввода/вывода может записать нужные адреса в структуру и предоставить тем самым пользователю доступ к физической памяти.
В структуре user появились следующие дополнительные компоненты:
caddr_t u_iospad; /* Физич. адрес доп. сегмента */ caddr_t u_iosvad; /* Вирт. адрес доп. сегмента */ long u_iossiz; /* Размер доп. сегмента */
Значения всех этих компонентов должны быть кратны двум килобайтам (величина NBPC в файле <sys/param.h>).
ПРИМЕР
Продемонстрируем управление графическим контроллером AGC-1 из прикладной программы. Для этого надо иметь доступ к памяти контроллера, что и достигается с помощью ios. Память контроллера расположена с адреса 0xfcc00000 и имеет длину 0x240000 (вместе с видеопамятью).
Установка процессом соотвествующих полей структуры user осуществляется с помощью открытия специального файла /dev/agc. При этом выполняется функция agcopen драйвера AGC (ее текст хранится в файле /usr/src/uts/io/agc.c). Функция устанавливает поля
u.u_iosvad = (caddr_t) 0xfcc00000; u.u_iospad = (caddr_t) 0xfcc00000; u.u_iossiz = 0x240000;
Для доступа к любому внутреннему регистру конроллера AGC-1 используются два регистра, вынесенных на внешнюю шину: регистр адреса - для указания номера внутреннего регистра, регистр данных - для указания данных, которые должны быть занесены во внутренний регистр (или прочитаны из него). Регистры имеют следующие адреса: регистр адреса - 0xfcc3c000, регистр данных - 0xfcc3c002.
Мы будем изменять два внутренних регистра - регистр высоты экрана и регистр масштабирования. Предполагается, что на графическом экране уже есть изображение (запустите предварительно какой-либо тест). Тогда, меняя содержимое внутренних регистров, мы сможем изменять изображение.
НАЗВАНИЕ
ipcrm - удаление идентификаторов средств межпроцессной связи
СИНТАКСИС
ipcrm [-q ид_оч_сообщений] [-m ид_сег_памяти] [-s ид_семафора] [-Q ключ_сообщений] [-M ключ_сег_памяти] [-S ключ_семафора]
ОПИСАНИЕ
Команда ipcrm удаляет один или несколько идентификаторов очереди сообщений, разделяемого сегмента памяти или семафора. Идентификаторы задаются с помощью следующих опций:
-q ид_оч_сообщений
Из системы удаляется идентификатор очереди сообщений ид_оч_сообщений и ликвидируются ассоциированные с ним очередь сообщений и структура данных.
-m ид_сег_памяти
Из системы удаляется идентификатор разделяемого сегмента памяти ид_сег_памяти. Сам сегмент и ассоциированная с ним структура данных ликвидируются после последнего отсоединения.
-s ид_семафора
Из системы удаляется идентификатор множества семафоров ид_семафора и ликвидируются ассоциированные с ним множество семафоров и структура данных.
-Q ключ_сообщений
Из системы удаляется идентификатор очереди сообщений, созданный по ключу ключ_сообщений, и ликвидируются ассоциированные с ним очередь сообщений и структура данных.
-M ключ_сег_памяти
Из системы удаляется идентификатор разделяемого сегмента памяти, созданный по ключу ключ_сег_памяти. Сам сегмент и ассоциированная с ним структура данных ликвидируются после последнего отсоединения.
-S ключ_семафора
Из системы удаляется идентификатор множества семафоров, созданный по ключу ключ_семафора, и ликвидируются ассоциированные с ним множество семафоров и структура данных.
Подробности процесса удаления описаны в , и . Идентификаторы и ключи можно узнать с помощью команды .
СМ. ТАКЖЕ
.
, , , , , , , , в Справочнике программиста.
НАЗВАНИЕ
ipcs - выдача информации о состоянии средств межпроцессной связи
СИНТАКСИС
ipcs [-q] [-m] [-s] [-b] [-c] [-o] [-p] [-t] [-a] [-C образ_памяти] [-N файл_с_таблицей_имен]
ОПИСАНИЕ
Команда ipcs выдает информацию об используемых в данный момент средствах межпроцессной связи. При отсутствии опций выдается краткая информация об очередях сообщений, разделяемых сегментах памяти и семафорах. Управлять выводом можно с помощью следующих опций:
Если ни одна из этих опций не задана, выдается информация обо всех средствах межпроцессной связи. Характер выводимой информации определяется следующими опциями:
-b Выводить информацию о наибольшем допустимом размере. Для очередей сообщений это максимальное число байт в сообщениях; для разделяемой памяти - размер сегментов; для семафоров - число семафоров в каждом множестве. Смысл информации в каждой колонке выдачи раз ясняется ниже.
-c Выводить входное и групповое имя создателя.
-o Выводить информацию об использовании. Для очередей сообщений - число сообщений в очереди и общее число байт в сообщениях; для разделяемых сегментов - число процессов, присоединенных к сегментам.
-p Выводить числовую информацию о процессах: идентификатор последнего процесса, пославшего сообщение и идентификатор последнего процесса, получившего сообщение - для очередей сообщений; идентификатор создавшего процесса и идентификатор последнего процесса, присоединившего или отсоединившего сегмент - для разделяемых сегментов памяти.
-t Выводить информацию о времени: время последней управляющей операции, изменившей права доступа - для всех средств связи между процессами. Время вызова операций: для очередей сообщений - последней msgsnd и последней msgrcv; для разделяемых сегментов памяти - последней shmat и последней shmdt; для семафоров - последней .
-a Использовать все опции, выводящие информацию. (Это просто краткая запись для -bcopt).
-C образ_памяти
ИМЯ
ipr, oldipr - Помещает файлы в очередь печатывающего устройства IMAGEN.
СИНТАКСИС
ipr[options][file...] oldipr[options][file...]
ОПИСАНИЕ
Команда ipr вызывает постановку в очередь на устройство печати IMAGEN поименованных файлов, используя команду , с подготовленными строками, написанными на языке управления документацией. Некоторая информация в заголовке документа содержит число копий, имена печатаемых файлов и используемый язык печатающего устройства IMAGEN. Если нет поименованных файлов, то считывается стандартный ввод.
Команда oldipr аналогична команде ipr, но содержит в себе опцию -о и используется с imPRESS файлами старой версии.
Опциями являются:
-L language
Вызывает объявления языка, указанного параметром language, для включения в строку языка управления документацией для файлов, стоящих в очередях файлов. Он должен соответствовать языку, в котором был приготовлен документ.
-D string Приводит к вкючению параметра string в язык управления документацией для файлов, стоящих в очереди.
-P printer
Этот файл должен быть напечатан на печатающем устройстве, указанном параметром printer. По умолчанию значение параметра printer определяется как переменная PRINTER в файле /ets/default/imagen.
-f name Вставляет идентификатор name в качестве значения переменной files в язык управления документацией. Если идентификатор не указан, то используются имена входных файлов. Это печатается на странице заголовка.
-m Вызывает команду для оповещения, когда заканчивается задание.
-r Уничтожаются связи в файлах после постановки их в очередь для печати.
-cn Печатает n копий.
-d Дополнительная информация печатается в целях отладки.
-o Определяет какой файл, стоящий в очереди, является файлом формата языка inPRESS в старой версии (до версии 1).
Команда ipr читает файл /etc/default/imagen, чтобы получить различные установки по умалчиванию. Полученными значениями и значениями по умалчиванию являются:
PRINTER=imagen
Имя печатывающего устройства IMAGEN. Оно может заменяться с помощью опции -P.
JAMPROOF=no
ИМЯ
iprint - Преобразует текстовые файлы в DVI формат.
СИНТАКСИС
iprint [options][file...]
ОПИСАНИЕ
Команда iprint преобразует входные текстовые файлы, задаваемые аргументом file,в DVI формат. Сначала вывод в формате DVI должен быть преобразован до его печати на печатающем устройстве IMAGEN в формат печати imPRESS. Если не задана опция -i, то используется команда dviimp(1) для автоматического выполнения этого преобразования и печати результатов. Если не заданы имена file, то производится считывание стандартного ввода.
Опциями являются:
-ioutput Файл в формате imPRESS сохраняется в файле output вместо того, чтобы быть напечатанным. -bbanner Строка banner передается в качестве аргумента опции -b в команду dviimp. По умолчанию banner является именем первого файла ввода file. -cn Печатает n копий. -B Печатает на каждой странице непустую первую строку шрифтом с полужирным начертанием и пропускает предшествующие пустые строки. Это используется такими программами, как , которые формируют заголовок страниц. -ffont Использует следующий аргумент в качестве имени файла шрифта для текста. Шрифт с переменным шагом в общем случае будет производить непредсказуемые результаты. -Ffont Использует следующий аргумент в качестве имени файла шрифта для строки с полужирным начертанием заголовка. (Смотрите опцию -B). -on Печатает страницу с отступом (от левого края) в n пробелов. -ln Взять высоту страницы в n строк. -Draster Каталог, содержащий образы растра, и есть raster. По умолчанию каталог образов растров определяется посредством переменной RASTER в файле /etc/default/ imagen, и предполагается разрешающая способность в 240 точек растра (pixels) на дюйм. -d Производит пространный вывод для отладки. -v Производит более подробный вывод отладки.
Команда iprint производит считывание файла /etc/default/imagen для получения различных установок значений по умолчанию. Значениями полученными и значениями по умолчанию являются:
RASTER=/usr/lib/imagen/raster
Файлы растеризации шрифта находятся в каталоге с именем 240, в пределах этого каталога (т.е. raster/ 240). Это может отменятся опцией -D.
TMPDIR=/tmp
НАЗВАНИЕ
ips, isbs, ipbs - программы обеспечения протоколов IMAGEN
СИНТАКСИС
/usr/lib/ips [options] [file] /usr/lib/isbs [options] [file] /usr/lib/isps [options] [file]
ОПИСАНИЕ
ips, isbs и ipbs представляют собой программные средства печати самого низкого уровня для принтера IMAGEN. Каждая из этих программ отвечает за свой вид связи. Они представляют собой интерфейс к программным средствам высокого уровня, обеспечивая им способ связи, практически независимый от вида этой связи.
ips посылает принтеру IMAGEN файлы, используя на линиях последовательной связи через порты RS-232C "протокол последовательных пакетов". Этот протокол обеспечивает обнаружение ошибок, повторную передачу, сообщения о состоянии, обнаружение неисправимых ошибок и учет использования принтера. Принтер IMAGEN должен быть сконфигурирован для передачи "последовательного пакета V1" на нужной скорости.
isbs поддерживает связь на линиях последовательной связи через порты RS-232C в соответствии с методом "потока последовательных байтов". Этот протокол выполняет управление потоком данных, но не обеспечивает обнаружение и исправление ошибок. Принтер IMAGEN должен быть сконфигурирован для поддержания протокола "потока последовательных байтов" на нужной скорости, а также должен использовать в качестве символа "EOF" (конца файла) 0x04, в качестве "кавычек" 0x02, обеспечивать прием 8-разрядных данных, управление потоком данных XON/XOFF и не должен игнорировать непечатные символы.
ipbs поддерживает метод "потока последовательных байтов", который в сущности аналогичен методу isbs, но предназначен для параллельных, а не последовательных портов. Принтер IMAGEN должен быть сконфигурирован для параллельного интерфейса, должен использовать в качестве символа "EOF" (конца файла) 0x04, в качестве "кавычек" 0x02 и не должен игнорировать непечатные символы.
Ни isbs, ни ipbs не ведут учет использования принтера. Следующая информация действительна для всех этих программ.
НАЗВАНИЕ
isnan: isnand, isnanf - проверить на принадлежность к числам с плавающей точкой
СИНТАКСИС
#include <ieeefp.h>
int isnand (dsrc) double dsrc;
int isnanf (fsrc) float fsrc;
ОПИСАНИЕ
Функции isnand и isnanf возвращают единицу, если аргумент dsrc или fsrc не является числом с плавающей точкой; в противном случае возвращается ноль.
Ни одна из этих функций на создает исключительных ситуаций. Даже если результат проверки отрицательный, то есть аргумент является числом с плавающей точкой, исключительной ситуации не возникает.
Функция isnanf( ) реализована как макрос и определена в файле <ieeefp.h>.
СМ. ТАКЖЕ
.
НАЗВАНИЕ
issue - идентификация входа
ОПИСАНИЕ
Файл /etc/issue содержит текст, выводимый программой getty на терминал перед приглашением войти в систему.
СМ. ТАКЖЕ
в Справочнике пользователя
НАЗВАНИЕ
ttyname, isatty - опрос имени терминала
СИНТАКСИС
char *ttyname (fildes) int fildes;
int isatty (fildes) int fildes;
ОПИСАНИЕ
Функция ttyname возвращает указатель на цепочку символов, оканчивающуюся нулем и содержащую маршрутное имя терминального устройства, ассоциированного с дескриптором файла fildes.
Функция isatty возвращает 1, если fildes ассоциирован с терминалом, и 0 в противном случае.
ФАЙЛЫ
/dev/*
ДИАГНОСТИКА
Функция ttyname возвращает пустой указатель NULL, если fildes не описывает терминальное устройство в каталоге /dev.
ОГРАНИЧЕНИЯ
Значение, возвращаемое функцией ttyname, указывает на один и тот же статический массив, содержимое которого полностью изменяется после каждого вызова.
НАЗВАНИЕ
bessel: j0, j1, jn, y0, y1, yn - функции Бесселя
СИНТАКСИС
#include <math.h>
double j0 (x) double x;
double j1 (x) double x;
double jn (n, x) int n; double x;
double y0 (x) double x;
double y1 (x) double x;
double yn (n, x) int n; double x;
ОПИСАНИЕ
Функции j0 и j1 возвращают значения функций Бесселя первого рода, порядка 0 и 1 соответственно, для заданного аргумента x. Функция jn возвращает значение функции Бесселя первого рода, порядка n для заданного аргумента x.
Функции y0 и y1 возвращают значения функций Бесселя второго рода (или, иначе, функций Неймана), порядка 0 и 1, соответственно для заданного аргумента x. Функция yn возвращает значение функции Бесселя второго рода, порядка n для заданного аргумента x. Значение x должно быть положительным.
СМ. ТАКЖЕ
.
ДИАГНОСТИКА
При неположительных аргументах функции y0 и y1 возвращают значение -HUGE [см. ], а переменной errno присваивается значение EDOM. Кроме того, в стандартный протокол будет выдано сообщение о выходе за границы области определения.
При аргументах, слишком больших по абсолютной величине, функции j0, j1, y0 и y1 возвращают нулевое значение и переменной errno присваивается значение ERANGE. Кроме того, в стандартный протокол будет выдано сообщение о потере значимости.
Изложенная процедура обработки ошибок может быть изменена посредством функции .
НАЗВАНИЕ
drand48, erand48, lrand48, nrand48, mrand48, jrand48, srand48, seed48, lcong48 - генерация равномерно распределенных псевдослучайных чисел
СИНТАКСИС
double drand48 ( )
double erand48 (xsubi) unsigned short xsubi [3];
long lrand48 ( )
long nrand48 (xsubi) unsigned short xsubi [3];
long mrand48 ( )
long jrand48 (xsubi) unsigned short xsubi [3];
void srand48 (seedval) long seedval;
unsigned short *seed48 (seed16v) unsigned short seed16v [3];
void lcong48 (param) unsigned short param [7];
ОПИСАНИЕ
Данное семейство функций порождает псевдослучайные числа с использованием широко известного линейного конгруэнтного алгоритма и 48-битной целой арифметики.
Функции drand48 и erand48 возвращают неотрицательные вещественные числа двойной точности, равномерно распределенные в интервале [0.0, 1.0).
Функции lrand48 и nrand48 возвращают неотрицательные целые числа типа long, равномерно распределенные в интервале [0, 2^31).
Функции mrand48 и jrand48 возвращают целые числа со знаком, типа long, равномерно распределенные в интервале [-2^31, 2^31).
Функции srand48, seed48 и lcong48 представляют собой инициализирующие точки входа, обращение к которым должно предшествовать вызову какой-либо из функций drand48, lrand48, mrand48. (Хотя это и не рекомендуется, в том случае, когда функции drand48, lrand48, mrand48 будут вызваны без предварительного обращения к инициализирующим точкам входа, подстановка постоянных начальных значений, принимаемых по умолчанию, будет произведена автоматически.) Функции erand48, nrand48 и jrand48 не требуют предварительного обращения к инициализирующим точкам входа.
Все программы работают, порождая последовательность 48-битных целых значений X [i] в соответствии с линейной конгруэнтной формулой
X [n+1] = (a * X [n] + c) mod m n 0
Параметр m = 2^48 и поэтому используется 48-битная целая арифметика. Если не было предварительного обращения к lcong48, для коэффициента a и аддитивной константы c будут приняты следующие значения:
a = 0x5DEECE66D = 0273673163155 c = 0xB = 013
НАЗВАНИЕ
join - оператор реляционной базы данных
СИНТАКСИС
join [-aномер_файла] [-eцепочка_символов] [-j[номер_файла] номер_поля] [-o список] [-tсимвол] файл1 файл2
ОПИСАНИЕ
Команда join выдает на стандартный вывод результат соединения двух отношений, задаваемых строками файла1 и файла2. Если вместо файла1 стоит -, то используется стандартный ввод.
Отношения файл1 и файл2 должны быть отсортированы в возрастающем лексикографическом порядке [см. ], согласно кодировке ASCII, по полям соединения (обычно по первому полю в каждой строке).
Результат операции составляют строки, по одной для каждой пары строк из отношений файл1 и файл2, которые имеют одинаковые поля соединения. Обычно строка результата состоит из общего поля, затем остатка строки отношения файл1, затем остатка строки отношения файл2.
Как правило, поля разделяются символами пробела, табуляции или перевода строки. В этом случае несколько последовательных разделителей интерпретируются как один и начальные разделители отбрасываются. Подразумеваемым разделителем при выводе информации является пробел.
Допустимы следующие опции:
-aномер_файла В дополнение к обычному выводу выдать строку для каждой непарной строки из файла с указанным номером (1 или 2). -eцепочка_символов Заменить пустые поля вывода заданной цепочкой_символов. -j[номер_файла] номер_поля Произвести соединение по указанному полю для файла с заданным номером. Если номер_файла опущен, использовать указанное поле в обоих файлах. -o список Каждую строку вывода обрамлять полями, определенными в списке. Каждый элемент списка имеет вид номер_файла.номер_поля. -tсимвол Использовать символ в качестве разделителя. Каждое вхождение символа в строку значимо. Указанный символ используется как разделитель и при вводе, и при выводе.
ПРИМЕР
Следующая командная строка выполняет соединение файла паролей и файла групп, сравнивая числовой идентификатор группы, и выдает входное имя, имя группы и основной каталог. Предполагается, что оба файла отсортированы в порядке возрастания идентификаторов групп.
join -j1 4 -j2 3 -o 1.1 2.1 1.6 -t: /etc/passwd \ /etc/group
СМ. ТАКЖЕ
, , , .
СЮРПРИЗЫ
В случае стандартных разделителей полей последовательность упорядочения такая же, как в команде sort -b, то есть начальные пробелы игнорируются. Если задана опция -t, все символы являются значимыми.
Соглашения команд join, , , и совершенно различны.
Если имя файла состоит из цифр, оно может провзаимодействовать с опцией -o, стоящей непосредственно перед аргументами-файлами
НАЗВАНИЕ
kbmode - установка клавиатурного режима или проверка поддержки клавиатуры.
СИНТАКСИС
kbmode command [file]
ОПИСАНИЕ
Эта команда может быть использована для определения того, поддерживает ли ваша клавиатура режим AT. Если да, то эта утилита может осуществлять переключение между режимами AT и XT.
Если задан аргумент file, то он должен представлять собой tty-устройство одного из экранов, связанных с этой клавиатурой.
Допустимыми командами command являются:
test - определяет, поддерживает ли клавиатура режим AT. at - устанавливает клавиатуру в режим AT. xt - устанавливает клавиатуру в режим XT.
ПРИМЕЧАНИЯ
Некоторые клавиатуры выглядят как клавиатуры типа AT, но не поддерживают режим AT. Установка такой клавиатуры в режим AT сделает ее бесполезной, если только она не будет переустановлена в режим XT с другого (последовательного) терминала.
СМ. ТАКЖЕ
keyboard(HW)
НАЗВАНИЕ
kclt_create Создать клиентские выходы для ядра
СИНТАКСИС
#include <sys/types.h>
kclt_create(nfd, fds, trans, tsdu, pgm, vers) int nfd; int *fds; int trans; int tsdu; ulong pgm; ulong vers;
ОПИСАНИЕ
Функция kclt_create используется при создании клиентских выходов для ядра RPC. В настоящее время различают два типа клиентов ядра RPC: NFS и администратор защиты.
Nfd - число файловых дескрипторов в массиве fds. Nfd контролирует число клиентских выходов, создаваемых с использованием данных файловых дескрипторов и остальных аргументов. Trans используется в качестве "транспортного идентификатора". Он отражает различия в транспортных и протокольных версиях, параллельно работающих на host-машине. Значения для trans еще не были определены, поэтому в trans следует занести 1. Tsdu - максимальная единица передачи данных по транспортному протоколу. Pgm и vers используются при инициализации новых клиентских выходов. Они являются частью заголовка RPC-вызова. Кроме того, аргументы trans, pgm и vers используются для внутренней идентификации клиентских выходов.
СМ. ТАКЖЕ
НАЗВАНИЕ
keyboard - клавиатура персонального компьютера.
ОПИСАНИЕ
Клавиатура персонального компьютера используется для ввода данных, переключения экранов и направления некоторых управляющих сигналов компьютеру. Система UNIX выполняет эмуляцию экрана и клавиатуры терминала и при этом извлекает пользу из некоторых особенных клавиш и их комбинаций. Эти клавиши и их комбинации имеют специальные названия, которые уникальны в системе UNIX и могут соответствовать, а могут и не соответствовать меткам клавиш на вашей клавиатуре. Эти клавиши будут описаны позже.
Когда вы нажимаете клавишу, происходит одно из следующих событий:
Вводится символ ASCII. Компьютеру посылается символьная строка. Запускается какая-либо функция. Меняется значение другой клавиши или клавиш.
Когда нажимается клавиша, клавиатура посылает компьютеру скан-код, который интерпретируется драйвером клавиатуры. Интерпретация кодов клавиш может быть изменена так, что клавиши могут начать функционировать по другому, отлично от их установок по умолчанию.
Различают три особенных события при нажатии клавиш:
Переключение экранов. Генерация сигнала. Изменение значения предыдущего символа, символов или строки.
Переключение экранов (многоэкранный режим)
Для переключения на следующий экран нажмите Ctrl-PrtSc, используя клавиши Ctrl и PrtSc. Любой активный экран может быть выбран нажатием alt-Fn, где Fn - одна из функциональных клавиш. F1 относится к дисплею компьютера (/dev/tty01).
Сигналы
Сигналы оказывают воздействие на процесс или несколько процессов. Примерами сигналов являются Ctrl-d (конец ввода и выход из оболочки), Ctrl-\ (завершение процесса), Ctrl-s ( остановка выдачи еа экран) и Ctrl-q (возобновление выдачи).
Обычно символы ставятся в соответствие сигналам с помощью stty(1). Единственный способ поставить сигнал в соответствие символам через посредство stty.
Изменение значения нажатий клавиш
Действительный код, посылаемый драйверу клавиатуры, может быть изменен с помощью комбинации некоторых клавиш. Например, клавиша SHIFT меняет значение символов ASCII буквенно-цифровых клавиш. Удерживание клавиши Ctrl при нажатии других клавиш генерирует управляющие коды (Ctrl-d, Ctrl-s, Ctrl-q и др.).
Специальные клавиши
НАЗВАНИЕ
kill - терминирование процессов
СИНТАКСИС
kill [-номер_сигнала] идентификатор_процесса ...
ОПИСАНИЕ
По умолчанию команда kill посылает сигнал 15 (завершиться) процессу с указанным идентификатором. Таким способом обычно терминируют процесс, который не устанавливает нестандартную реакцию на сигналы. Идентификаторы_процессов можно узнать по команде (в колонке PID). Идентификатор асинхронно запущенного процесса сообщается shell'ом в момент запуска (в случае конвейера сообщается только идентификатор последнего процесса).
Подробно о терминировании процесов см. . Например, если указан процесс с номером 0, то сигнал будет послан всем процессам данной группы.
Терминируемый процесс должен принадлежать текущему пользователю, если последний не является суперпользователем.
Если в качестве первого аргумента указан (с предшествующим знаком -) номер_сигнала, то вместо сигнала 15 посылается он [см. ]. Так, команда kill -9 ... уничтожает процесс наверняка, если, конечно, для уничтожения хватает прав.
СМ. ТАКЖЕ
, .
, в Справочнике программиста.
НАЗВАНИЕ
killall - уничтожение всех активных процессов
СИНТАКСИС
/etc/killall [сигнал]
ОПИСАНИЕ
Утилита /etc/shutdown использует команду killall для уничтожения всех активных процессов, не связанных непосредственно с процедурой завершения работы в системе.
Команда killall терминирует все процессы с открытыми файлами, так что смонтированные файловые системы перестают использоваться и могут быть размонтированы.
Команда killall посылает процессам заданный сигнал [см. ]. Подразумеваемое значение сигнала равно 9 сигналу уничтожения.
ФАЙЛЫ
/etc/shutdown
СМ. ТАКЖЕ
, .
, в Справочнике пользователя.
в Справочнике программиста.
ПРЕДОСТЕРЕЖЕНИЯ
Команду killall может выполнять только суперпользователь