ИМЯ
dbminit, fetch, store, delete, firstkey, nextkey - yпpaвляeт бaзoй дaнныx
СИНТАКСИС
typedef struct {char *dptr;int dsize;} datum;
int dbminit (file) char *file;
datum fetch (key) datum key;
store (key, content) datum key, content;
delete (key) datum key;
datum firstkey ()
datum nextkey (key) datum key;
ОПИСАНИЕ
Эти фyнкции yпpaвляют paбoтoй бaзы дaнныx, в кoтopoй дocтyп к кaждoмy элeмeнтy бaзы ocyщecтвляeтcя пo ключy. Фyнкции мoгyт oбcлyживaть oчeнь бoльшиe бaзы дaнныx (дo миллиapдa блoкoв). Дocтyп пo ключy мoжeт быть кaк пpямым, тaк и пocлeдoвaтeльным. Пpoгpaммы, иcпoльзyющиe эти фyнкции, дoлжны кoмпoнoвaтьcя c флaгoм -ldbm.
Пoля key и content oпиcывaютcя c пoмoщью имeни типa datum, зaдaющeгo cтpoкy из dsize бaйтoв, нa кoтopyю yкaзывaeт dptr. Дoпycтимы пpoизвoльныe дaнныe в двoичнoй cиcтeмe cчиcлeния и cимвoльныe cтpoки. Бaзa дaнныx paзмeщaeтcя в двyx фaйлax. Пepвый фaйл этo кaтaлoг бaзы, coдepжaщий кapтy pacпpeдeлeния пaмяти. Bтopoй фaйл coдepжит coбcтвeннo дaнныe. Имя пepвoгo фaйлa имeeт cyффикc .dir, имя втopoгo - cyффикc .pag.
Для пoлyчeния дocтyпa к бaзe ee нyжнo oткpыть вызoвoм dbminit. B мoмeнт oткpытия фaйлы file.dir и file.pag (file - apгyмeнт фyнкции dbminit) дoлжны cyщecтвoвaть. Пycтaя бaзa coздaeтcя пyтeм coздaния этиx фaйлoв c нyлeвoй длинoй.
Пocлe oткpытия бaзы дaнныe из нee выбиpaютcя c пoмoщью фyнкции fetch и зaнocятcя в нee c пoмoщью фyнкции store. Bыбopкa и зaнeceниe пpoизвoдятcя c пoмoщью ключa - apгyмeнтa key. Kлюч и cвязaнныe c ним дaнныe yничтoжaютcя c пoмoщью фyнкции delete. Пocлeдoвaтeльный пpocмoтp вcex ключeй в бaзe мoжeт быть cдeлaн c пoмoщью фyнкций firstkey и nextkey. Firstkey вoзвpaщaeт пepвый ключ в бaзe, nextkey вoзвpaщaeт ключ, кoтopый cлeдyeт зa ключoм, являющимcя apгyмeнтoм фyнкции. Hижecлeдyющий цикл пoзвoляeт пpocмoтpeть вcю бaзy:
for(key=firstkey();key.dptr!=NULL;key=nextkey(key))
BOЗВPAЩAEМOE ЗНAЧEНИE
Фyнкции, вoзвpaщaющиe цeлыe знaчeния, в cлyчae oшибки вoзвpaщaют oтpицaтeльнoe чиcлo. B cлyчae ycпeшнoгo зaвepшeния вoзвpaщaeтcя 0. Фyнкции, вoзвpaщaющиe знaчeниe типa datum, в cлyчae oшибки ycтaнaвливaют пoлe dptr в NULL.
ЗAМEЧAНИЯ
НАЗВАНИЕ
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
ИМЯ
nap - зaдepживaeт выпoлнeниe нa нeбoльшoй интepвaл
СИНТАКСИС
long nap (period) long period;
ОПИСАНИЕ
Teкyщий пpoцecc зaдepживaeт cвoe выпoлнeниe либo, пo кpaйнeй мepe, нa period миллиceкyнд, либo дo пpиxoдa cигнaлa.
BOЗВPAЩAEМOE ЗНAЧEНИE
B cлyчae ycпeшнoгo зaвepшeния вoзвpaщaeтcя длиннoe цeлoe чиcлo, yкaзывaющee чиcлo миллиceкyнд дeйcтвитeльнoй зaдepжки. Ecли вo вpeмя oжидaния пpoцecc пoлyчил cигнaл, вoзвpaщaeтcя знaчeниe -1 и в errno зaнocитcя кoд EINTR.
СМ. ТАКЖЕ
ЗAМEЧAНИЯ
Paбoтa этoй фyнкции yпpaвляeтcя cиcтeмными чacaми, тoчнocть кoтopыx в бoльшинcтвe cлyчaeв cocтaвляeт дecятки миллиceкyнд. Пpoгpaммa, иcпoльзyющaя этy фyнкцию, дoлжнa кoмпoнoвaтьcя c флaгoм -lx.
Программа ftp является наиболее полезной функцией Internet является получения файлов с анонимных серверов ftp. К сожалению, программа ftp не особенно дружелюбна. Ее пользовательский интерфейс может понравиться разве что любителям Unix. Программа ncftp была разработана для упрощения передачи файлов с помощью ftp.
ncftp имеет пользовательский интерфейс, аналогичный ftp, но дает вам значительно больше информации, лучше понимает, что вы хотите, и предоставляет вам больше возможностей. Если вы уже знаете, как использовать ftp, то сможете работать с ncftp без изучения новых команд: ncftp понимает все команды ftp. Кроме того, она значительно расширяет продвинутые средства ftp.
Программа ncftp имеет множество удобных команд:
При открытии системы она предполагает, что вы хотите использовать имя anonymous и пароль, соответствующий вашему почтовому адресу. Это позволяет вам не набирать эту информацию при открытии связи с хост-системой (и исключает возможность ошибок). Это можно легко переопределить. Если вы поместите имена часто используемых узлов в файл параметров, то не нужно будет набирать полное имя. Например, rtfm.mit.edu вы можете сократить просто до mit. Программа ncftp запоминает имя того каталога, в котором вы находились в последний раз при регистрации на конкретном узле. При открытии данного узла вы будете сразу попадать в этот каталог. * В ncftp можно задать попытки повторного доступа к занятому узлу. В командной строке вы можете задать маршрут и имя файла, автоматически загружаемого по линии связи. Таким образом, процесс загрузки файлов становится полностью автоматическим. В файле параметров вы можете задать такие параметры как имя программы Unix, которую вы хотите использовать для страничного вывода и др. Эти параметры можно изменить во время работы программы. Приглашение ncftp можно изменить таким образом, чтобы она давала вам больше информации. Вместо вывода ncftp> в приглашении можно выводить имя каталога, в котором вы выполняете поиск. Вместо просмотра файла целиком или его загрузки и локального вывода вы можете просмотреть содержимое текстового файла на удаленной машине с помощью программы постраничного вывода, такой как more. С помощью такой программы можно также просматривать листинг каталога. В команде get можно использовать трафаретные символы. С помощью очень удобного средства можно преобразовывать доменные имена в IP-адреса. В ncftp вы можете сохранить протокол своей работы.
НАЗВАНИЕ
ncheck - генерация маршрутных имен по номерам описателей файлов
СИНТАКСИС
/etc/ncheck [-i номер_описателя ...] [-a] [-s] [файловая_система]
ОПИСАНИЕ
Команда ncheck при отсутствии аргументов генерирует маршрутные имена по номерам описателей всех файлов из установленного по умолчанию множества файловых систем (см. файл /etc/checklist). После имен файлов-каталогов помещается двухсимвольная комбинация /..
Команда ncheck обрабатывает следующие опции:
Файловая_система задается именем содержащего ее специального файла.
Выдаваемую информацию рекомендуется отсортировать в нужном порядке.
СМ. ТАКЖЕ
.
, , в Справочнике пользователя.
ДИАГНОСТИКА
Если структура файловой системы нарушена, то ?? обозначает неизвестное имя каталога, содержащего данный файл, а маршрутное имя, начинающееся с ..., обозначает цикл.
НАЗВАНИЕ
ncheck - генерирует имена по номерам индексных дескрипторов.
СИНТАКСИС
ncheck [-i numbers] [-a] [-s] [filesystem]
ОПИСАНИЕ
ncheck без аргументов генерирует список полных имен и номеров индексных дескрипторов всех файлов в наборе файловых систем, заданных в /etc/mnttab. К именам файлов каталогов добавляются два символа "/.". Опция -i ограничивает выдачу только теми файлами, номера индексных дескрипторов которых перечисляются вслед за этой опцией. Опция -a разрешает выдачу имен . и .. , которые обычно подавляются. Опция -s ограничивает выдачу только специальными файлами и файлами с режимом проверки права доступа; она предназначается для обнаружения скрытых нарушений системы защиты. Вместо списка файловых систем, используемых по умолчанию, можно задать одну единственную файловую систему filesystem.
ФАЙЛЫ
/etc/mnttab
СМ. ТАКЖЕ
,
ДИАГНОСТИКА
При некорректности конструкции файловой системы символы ?? обозначают "родителя" файла-сироты, а полное имя, начинающееся с ..., обозначает петлю (зацикливание).
ПРИМЕЧАНИЯ
Смотрите Примечания в разделе .
НАЗВАНИЕ
netutil - осуществляет административные сетевые операции в системе
СИНТАКСИС
netutil [option] [-x] [-e]
ОПИСАНИЕ
Команда netutil позволяет пользователю создавать и поддерживать сеть на машинах с системой UNIX. Сеть Micnet представляет собой соединение двух и более систем UNIX через последовательные порты. Она используется для передачи почтовых сообщений между системами с помощью команды , передачи файлов между системами с помощью команды и выполнения команд на удаленной машине с помощью команды .
Команда netutil используется для создания и распространения файлов данных, необходимых для обеспечения работы сети. Она используется также для запуска и остановки работы сети. Аргумент option может быть любым из install, save, restore, start, stop или номеров от 1 до 5 соответственно. Опция -x задает регистрацию пересылок, опция -e - регистрацию ошибок. Опции -x и -e работают только в соединении с опциями start и stop или их десятичными эквивалентами (4 и 5).
Опция install позволяет создавать в интерактивном режиме файлы, необходимые для функционирования сети. Опция save задает сохранение этих файлов на гибких или жестких дисках, позволяя перенести их на другие системы сети. Если вы сохраняете micnet-файлы на жестком диске, то их можно передать на другие машины с помощью . Данная опция задает имя устройства для резервного копирования и спрашивает, это ли устройство будет использоваться. Пользователь может задать другое устройство, включая файл на жестком диске. Имя этого устройства, используемое по умолчанию, содержится в файле /etc/default/micnet. Оно может быть изменено в зависимости от системной конфигурации. Опция restore восстанавливает файлы данных с дискеты обратно на жесткий диск. Опция start запускает сеть в работу. Опция stop останавливает работу сети. Опция option может задаваться цифрой в диапазоне от 1 до 5. Если команда netutil пускается без опций, то она высвечивает меню, из которого можно выбрать одну из них. Как только опция будет выбрана, она запрашивает при необходимости дополнительную информацию.
ИМЯ
newaliases - перестраивает базу данных для файла почтовых алиасов.
СИНТАКСИС
newaliases
ОПИСАНИЕ
Newaliases перестраивает базу данных для файла почтовых алиасов /etc/aliases. Утилита должна запускаться каждый раз при изменении алиасов.
Newaliases идентична ``sendmail -bi''.
Утилита Newaliases возвращает 0 в случае успеха и значение >0 в случае ошибки.
ФАЙЛЫ
/etc/aliases Файл почтовых алиасов.
СМ. ТАКЖЕ
aliases(5), sendmail(8)
ИСТОРИЯ
Команда newaliases появилась в 4.0BSD.
НАЗВАНИЕ
newform - изменение формата текстового файла
СИНТАКСИС
newform [-s] [-iспециф_табул] [-oспециф_табул] [-b[число_символов]] [-e[число_символов]] [-p[число_символов]] [-a[число_символов]] [-f] [-cсимвол] [-l[длина]] [файл ...]
ОПИСАНИЕ
Команда newform читает строки из указанных файлов или, если файлы не заданы, со стандартного ввода, выполняет переформатирование этих строк и помещает результат на стандартный вывод. Переформатирование происходит в соответствии с заданными в командной строке опциями.
Все опции, кроме -s, могут появляться в командной строке в любом порядке, повторяться, между ними могут вклиниваться имена файлов. Обработка опций осуществляется в том порядке, в каком они заданы. Это означает, например, что результаты форматирования для последовательности опций -e15 -l60 отличны от результатов для последовательности -l60 -e15. Опции применяются ко всем файлам, имена которых присутствуют в командной строке.
-s Начальные символы каждой строки, вплоть до первого символа табуляции, отсекаются и в количестве, не превышающем 8, помещаются в конец строки. Если отсечено более 8 символов (не считая табуляции), то 8-й символ заменяется на *, а последующие символы отбрасываются. Первый символ табуляции отбрасывается всегда.
Если эта опция применяется к файлу, в котором хотя бы одна строка не содержит символа табуляции, то выдается сообщение об ошибке и происходит выход из программы. Программа хранит отсеченные символы, пока к данной строке не будут применены все опции. После этого хранимые символы присоединяются к концу обработанной строки.
Рассмотрим в качестве примера файл f1, каждая строка которого начинается с последовательности цифр, а далее следует один или несколько символов табуляции вперемежку с текстом. Пусть требуется преобразовать его таким образом, чтобы каждая строка начиналась с текста, все символы табуляции кроме первого были заменены пробелами, длина строки была бы сначала доведена до 72 символов (путем отбрасывания лишних символов или дополнения конца строки пробелами), а начиная с 73-й позиции была размещена последовательность цифр, с которой начинается исходная строка. Это достигается выполнением команды:
НАЗВАНИЕ
newgrp - переход в новую группу
СИНТАКСИС
newgrp [-] [группа]
ОПИСАНИЕ
Команда newgrp изменяет идентификацию группы для пользователя. Пользователь остается в системе и текущий каталог не изменяется, но права доступа к файлам вычисляются в соответствии с новыми реальным и действующим идентификаторами группы. По команде newgrp пользователь вместо старого всегда получает новый shell независимо от того, закончилось выполнение newgrp успешно или с ошибкой (из-за неизвестной группы).
Экспортируемые переменные окружения сохраняют свои значения после выполнения команды newgrp; однако всем неэкспортируемым переменным присваиваются подразумеваемые или пустые значения. Системным переменным (таким как PS1, PS2, PATH, MAIL и HOME), если они не экспортируются системой или явно пользователем, устанавливаются подразумеваемые значения. Например, если основное приглашение (PS1) отличается от "$ " (значение по умолчанию), и переменная PS1 не экспортируется, то после выполнения команды newgrp, успешного или нет, значение переменной PS1 будет установлено равным "$ ". Следует отметить, что команда shell'а export [см. ] является тем средством, с помощью которого переменные окружения сохраняют свои значения при запуске новых shell'ов.
Если не заданы аргументы, команда newgrp изменяет идентификатор группы обратно на группу, определенную в соответствующей строке файла /etc/passwd.
Если первым аргументом команды newgrp является -, то окружение становится таким, которым оно было бы, если пользователь вошел в систему заново, как член новой группы.
Запрашивается пароль, если группа имеет пароль, а пользователь нет, или если группа имеет пароль, а пользователь не указан в файле /etc/group как член новой группы.
ФАЙЛЫ
/etc/group Системный файл групп. /etc/passwd Системный файл паролей.
СМ. ТАКЖЕ
, .
, , в Справочнике программиста.
СЮРПРИЗЫ
Не существует удобного способа занесения паролей в файл /etc/group. Использование паролей групп не поддерживается, так как по своей сути они плохо обеспечивают секретность. В будущем пароли групп, видимо, отомрут.
НАЗВАНИЕ
news - выдача новостей
СИНТАКСИС
news [-a] [-n] [-s] [новость ...]
ОПИСАНИЕ
Команда news используется для того, чтобы получать текущую информацию. По соглашению такая информация представляет собой файлы в каталоге /usr/news; новость - это имя соответствующего файла.
Команда news без аргументов выводит (с поясняющими заголовками) содержимое всех свежих файлов из каталога /usr/news, причем самые свежие новости выдаются первыми. Свежими считаются файлы, созданные позднее "времени опроса". Под "временем опроса" понимается время модификации файла .news_time в основном каталоге пользователя. (Основной каталог определяется значением переменной окружения $HOME.)
Допустимые опции:
Остальные аргументы указывают, какие именно новости должны быть выведены.
Если во время вывода информации нажать клавишу прерывания, то вывод данной новости прекращается и начинается вывод следующей. Если клавишу прерывания нажать дважды в течение секунды, работа программы news завершится.
ФАЙЛЫ
/etc/profile /usr/news/* $HOME/.news_time
СМ. ТАКЖЕ
, в Справочнике программиста.
НАЗВАНИЕ
nfs - запуск/останов NFS
СИНТАКСИС
/etc/nfs start /etc/nfs stop
ОПИСАНИЕ
Команда /etc/nfs используется для запуска или останова работы программного обеспечения сетевой файловой системы. Сетевая файловая система запускается автоматически в момент начальной загрузки ОС, если файл /etc/nfs привязан к /etc/rc2.d/Sname (по умолчанию в качестве "name" используется 72nfs). Останов NFS производится автоматически в момент прекращения работы ОС, если /etc/nfs привязан к /etc/rc0.d/Kname (здесь по умолчанию в качестве "name" используется 66nfs).
Файл /etc/nfs перед использованием можно настроить на конкретную инсталляцию. В процессе настройки допускается корректировка следующих элементов:
PATH Стандартный путь может корректироваться в том случае, если команды, запускаемые /etc/nfs, записаны в разных каталогах. PROCS Переменная "PROCS" содержит список разделенных пробелами идентификаторов процессов, подлежащих удалению во время выполнения функции stop. Если на самом деле процессов больше, список может быть расширен. Daemons (Процессы) В этой точке запускаются стандартные процессы NFS. В эту же секцию можно включить и любые дополнительные процессы и команды. Те из стандартных процессов, которые не нужны, могут быть исключены совсем или их вызов может быть закомментирован.
Если перед запуском NFS загружался транспортный уровень сети, то после закрытия системы этот уровень следует отключить.
СМ. ТАКЖЕ
, , , , , , ,
НАЗВАНИЕ
nfs_getfh - Получить выход на файл NFS
СИНТАКСИС
#include <sys/fs/nfs.h>
nfs_getfh(fdes, fhp) int fdes; fhandle_t *fhp;
ОПИСАНИЕ
Функция nfs_getfh возвращает выход на файл, открытый с дескриптором fdes. Этим выходом пользуется только процесс монтирования NFS, для пользователей он должен быть недоступен.
СМ. ТАКЖЕ
НАЗВАНИЕ
Управляющие процессы в NFS
СИНТАКСИС
nfs_svc(tep, addr, tsdu, buf) int tep; int addr; int tsdu; char *buf;
async_daemon() <PrevPg>.ft B
ОПИСАНИЕ
Благодаря этим двум системным функциям процессы ядра могут иметь пользовательский контекст.
Функция nfs_svc запускает процесс управления сетевой файловой системы, ожидающий ответа на транспортном конце tep. Этот транспортный конец обычно связан с файловым дескриптором, возвращаемый функцией t_open(): AF_INET (в терминологии 4.2BSD) или SOCK_DGRAM (протокол UDP/IP), что определяется версией транспортного протокола локальной сети. С другой стороны транспортный конец должен быть связан с портом межсетевого взаимодействия 2049. Addr - максимальный размер удаленного адреса, обрабатываемого транспортным протоколом. Buf - адрес буфера, имеющего размер NFS_MAXDATA (обычно 8192 байта), внутри процесса пользовательского уровня. Этот буфер используется в локальной файловой системе программой getdents(3). Функция возвращает управление только после удаления процесса из системы.
Функция async_daemon соответствует сетевому процессу, занимающемуся обработкой результатов асинхронного ввода-вывода для клиента сетевой файловой системы. Управление после нее никому не передается.
НАЗВАНИЕ
nfsclnt - создание клиентских выходов на NFS
СИНТАКСИС
nfsclnt [ nclienthandles ]
ОПИСАНИЕ
Команда nfsclnt назначает транспортные окончания (без установления логического соединения), которые используются для создания клиентских выходов. Программы клиента сетевой файловой системы получают клиентские выходы на время работы RPC.
Nclienthandles - количество выделенных клиентских выходов. Значение этого параметра ограничивает число параллельно выполняемых операций клиента сетевой файловой системы и должно основываться на ожидаемой нагрузке. Если возникает потребность в дополнительных клиентских выходах, можно запустить больше процессов nfsclnt. Количество клиентских выходов, доступных программам клиентов NFS, складывается из числа клиентских выходов, выделенных каждой nfsclnt-программе. Удаление nfsclnt-процесса сократит число клиентских выходов на то количество, которое изначально было создано этим процессом.
ФАЙЛЫ
/dev/inet/udp устройство UDP
СМ. ТАКЖЕ
НАЗВАНИЕ
nfsd, biod - сервисные процессы в NFS
СИНТАКСИС
/etc/nfsd [nservers] /etc/biod [nservers]
ОПИСАНИЕ
Команда nfsd запускает процессы на сетевом сервере по запросам, поступающим с клиентских выходов. Nservers - количество процессов, запускаемых по запросам. Значение этого аргумента определяется ожидаемой нагрузкой на сервер.
Команда biod, поданная клиентом NFS, запускает nservers процессов асинхронного ввода-вывода блоками, которые выполняют чтение и запись блоков в буферном кеше клиента.
СМ. ТАКЖЕ
,
ИМЯ
nfsstat - показывает NFS статистику
СИНТАКСИС
nfsstat [-M core] [-N system] [-w wait]
ОПИСАНИЕ
Nfsstat показывает сохраненную статистику о NFS клиентах и активах сервера.
ОПЦИИ
ФАЙЛЫ
/kernel /dev/kmem
СМ. ТАКЖЕ
fstat(1), netstat(1), , systat(1), sysctl(3), iostat(8), pstat(8), vmstat(8)
ИСТОРИЯ
Команда nfsstat появилась в 4.4BSD.
НАЗВАНИЕ
nice - выполнение команды с пониженным приоритетом
СИНТАКСИС
nice [-коэффициент_понижения] команда [аргумент ...]
ОПИСАНИЕ
Команда nice выполняет команду с пониженным приоритетом. Коэффициент_понижения задается в диапазоне 1-19 (по умолчанию равен 10).
Суперпользователь может выполнять команды с повышенным приоритетом, для этого нужно указать отрицательный коэффициент_понижения, например --10.
СМ. ТАКЖЕ
. в Справочнике программиста.
КОД ЗАВЕРШЕНИЯ
Команда nice возвращает код завершения подчиненной команды.
СЮРПРИЗЫ
Коэффициент_понижения, больший 19, принимается равным 19. Если обычный пользователь указывает отрицательный коэффициент_понижения, команда выполняется с нормальным приоритетом.
НАЗВАНИЕ
nl - нумерация строк
СИНТАКСИС
nl [-hтип] [-bтип] [-fтип] [-vнач_ном] [-iшаг] [-p] [-lчисло] [-sразделитель] [-wчисло] [-nформат] [-dразделитель] файл
ОПИСАНИЕ
Команда nl читает строки из заданного файла или со стандартного ввода, если аргумент файл не задан, и помещает их на стандартный вывод. Строки нумеруются слева в соответствии с действующими опциями команды.
Предполагается, что прочитываемый текст разбит на логические страницы. При переходе к новой логической странице нумерация строк начинается сначала. Логическая страница состоит из секций заголовка, тела и заключения. Допускаются пустые секции. Опции действуют независимо на заголовок, тело и заключение (например, можно не нумеровать строки заголовка и заключения, хотя нумеровать пустые строки только в теле).
Начало секций логических страниц маркируется строками специального вида, содержащими лишь следующие символы-разделители:
По умолчанию считается, что исходный текст размещен в теле единственной логической страницы.
Опции команды можно задавать в любом порядке вперемежку с необязательным именем файла. Можно задать только один файл. Опции команды:
-bтип Указание типов строк тела логической страницы, подлежащих нумерации. Допустимые значения пара метра тип и их смысл:
a Нумеровать все строки.
t Нумеровать только строки, содержащие текст.
n Не нумеровать строки.
pцепочка_символов Нумеровать только те строки, которые содержат указанную цепочку_символов.
Подразумеваемое значение аргумента тип для тела страницы равно t (нумеровать только текстовые строки).
-hтип То же самое, что и -bтип, но для заголовка логи ческой страницы, и с подразумеваемым значением аргумента n (не нумеровать строки).
-fтип То же самое, что и -bтип, но для хвостовика логи ческой страницы, и с подразумеваемым значением аргумента n (не нумеровать строки).
-p Установка сквозной нумерации, невзирая на разделители логических страниц.
-vнач_ном
Установка начального значения счетчика строк логической страницы. Подразумеваемое значение аргумента нач_ном равно 1.
-iшаг Установка шага нумерации строк логической страни цы. Подразумеваемое значение равно 1.
-sразделитель
НАЗВАНИЕ
nlist - получение элементов таблицы имен
СИНТАКСИС
#include <nlist.h>
int nlist (filename, nl) char *filename; struct nlist *nl;
ОПИСАНИЕ
Аргумент filename указывает на маршрутное имя выполняемого файла, аргумент nl - на массив структур типа nlist. Функция nlist просматривает таблицу имен выполняемого файла и выделяет информацию об именах, перечисленных в массиве nl, признаком конца которого является структура с пустой цепочкой в качестве имени. Если имя удалось найти в выполняемом файле, то в соответствующие поля той же структуры nlist помещается информация о значении и типе имени. Если файл был скомпилирован без опции -g, в поле типа записывается 0. Если имя не найдено, обнуляются оба поля. Более подробную информацию о структуре таблицы имен можно найти в a.out(4).
Данная функция полезна для исследования системной таблицы имен, содержащейся в файле /unix, поскольку позволяет получить системные адреса текущей версии.
ПРИМЕЧАНИЯ
Для совместимости файл <nlist.h> автоматически включается в текст в файле <a.out.h>. Однако не стоит включать весь файл <a.out.h>, если единственное, что необходимо из него - структура nlist.
СМ. ТАКЖЕ
a.out(4).
ДИАГНОСТИКА
Все элементы обнуляются в том случае, если выполняемый файл не доступен на чтение или он не содержит корректной таблицы имен.
В случае ошибки функция nlist возвращает -1; в противном случае результат равен 0.
НАЗВАНИЕ
nm - вывод таблицы имен об ектного файла обычного формата
СИНТАКСИС
nm [-o] [-x] [-h] [-v] [-n] [-e] [-f] [-u] [-r] [-p] [-V] [-T] файл ...
ОПИСАНИЕ
Команда nm выдает на стандартный вывод таблицу имен для каждого об ектного файла, указанного в командной строке. Файл может быть как перемещаемым, так и абсолютным об ектным файлом, или может быть архивом из таких файлов. Для каждого элемента таблицы выдается следующая информация:
Следующие опции определяют содержание и формат информации, выдаваемой командой nm:
НАЗВАНИЕ
nmountall, numountall - массовое монтирование и демонтирование файловых систем
СИНТАКСИС
/etc/nmountall /etc/numountall
ОПИСАНИЕ
Команда nmountall предназначена для монтирования файловых систем NFS на основании информации файла /etc/default/filesys. Настоятельно рекомендуем использовать опцию bg для тех файловых систем, которые монтируются автоматически в момент начальной загрузки ОС. Эта мера поможет избежать зависания процесса загрузки при попытке монтирования файловой системы на очень медленно работающем или остановленном сервере.
Команда numountall вызывает демонтирование всех смонтированных в сети файловых систем. Процессы, работавшие в этих системах (имеющие там открытые файлы или рабочие каталоги), удаляются посредством посылки серии сигналов. Первым посылается сигнал SIGHUP. Секундой позже посылается сигнал SIGTERM. Наконец, еще одну секунду спустя посылается сигнал SIGKILL.
Обе эти команды могут выполняться только под управлением суперпользователя.
ФАЙЛЫ
Рассмотрим формат таблицы файловых систем. Строки, открывающиеся символом "#", содержат комментарии; поля, как правило, разделяются пробелами. Обратите внимание на то, что запись, не умещающаяся в одной строке, в местах разбиения на несколько строк содержит символы "обратная наклонная черта". Пример:
bdev=nfs2:/\ # Первое поле содержит имя удаленного каталога (системы, под # лежащей монтированию). # mountdir=/nfs/nfs2\ # Второе поле содержит имя каталога - точки монтирования (уже # существующего). # mount=prompt mountflags=\ # Содержимое этих полей говорит о том, что перед монтировани # ем NFS должна выдать подсказку, а также о том, что при мон # тировании файловой системы командами mnt(NADM) и umnt(NADM) # флаги не используются. # fsck=no fsckflags=rcfsck=no\ # Содержимое этих полей служит указанием NFS не производить # очистки и проверки удаленной файловой системы. # desc="The Root Filesystem of machine NFS2"\ # Вышеуказанное поле содержит краткое описание смонтированной # файловой системы. # rcmount=yes fstyp=NFS\ # Вышеуказанные поля содержат указание смонтировать файловую # систему во время инициализации NFS, а также тип файловой # системы. # nfsopts="soft,wsize=1024,rsize=1024,nosuid" # Специальные опции NFS, # подробнее о них см. в .
НАЗВАНИЕ
nohup - запуск команд в режиме игнорирования сигналов прерывания и завершения
СИНТАКСИС
nohup команда [аргумент ...]
ОПИСАНИЕ
Nohup выполняет команду в режиме игнорирования сигналов освобождения линии и выхода (SIGHUP и SIGQUIT). Если вывод не переназначен пользователем, то стандартный вывод и стандартный протокол направляются в файл nohup.out. Если этот файл не доступен для записи в текущем каталоге, вывод переназначается в файл $HOME/nohup.out.
ПРИМЕР
Часто возникает необходимость применить nohup к конвейеру или к списку команд. Это можно сделать только одним способом, поместив конвейеры и списки команд в отдельный файл, составляющий shell-процедуру. В команде
nohup sh f1
nohup применяется ко всему содержимому файла f1. Если планируется частое применение shell-процедуры, то можно избежать необходимости каждый раз набирать sh, наделив f1 правами на выполнение. Если добавить &, то содержимое файла f1 будет запущено в фоновом режиме, при этом прерывания также проигнорируются [см. ]:
nohup f1 &
Содержимое файла f1 может быть, например, следующим:
sort oldfile > newfile
СМ. ТАКЖЕ
, , . в Справочнике программиста.
ПРЕДОСТЕРЕЖЕНИЯ
В командной строке
nohup команда1; команда2
nohup применяется только к команде1. Строка
nohup (команда1; команда2)
синтаксически некорректна.
ИМЯ
nroff - эмулятор команды nroff с groff
СИНТАКСИС
nroff [ -h ] [ -i ] [ -m name ] [ -n num ] [ -o list ] [ -r cn ] [ -T name ] [ file... ]
ОПИСАНИЕ
Скрипт nroff эмулирует команду nroff использующую groff. Опция -T с аргументами кроме как ascii, latin1 или koi8-r игнорируется. Опция -h эквивалентна опции -h grotty. Опции -i,-n, -m, -o и -r описаны в troff(1).
СМ. ТАКЖЕ
groff(1), troff(1), grotty(1)
НАЗВАНИЕ
null - пустой файл
ОПИСАНИЕ
Данные, записываемые в /dev/null - пустой специальный файл, на самом деле просто игнорируются.
При чтении из пустого специального файла всегда возвращается 0 байт.
ФАЙЛЫ
/dev/null
НАЗВАНИЕ
nuser - регистрация нового пользователя
СИНТАКСИС
/etc/nuser
ОПИСАНИЕ
Утилита nuser используется для регистрации новых пользователей системы. Для этого необходимо быть суперпользователем. Вам будут заданы вопросы:
>username? (имя пользователя) >group? (группа) >initial directory '/udd/' ? (начальный каталог с именем /udd/...).
Регистрационные записи о новом пользователе будут помещены в файлы /etc/passwd, /usrlib/cron/at.allow, будет создан указанный каталог.
При регистрации пользователя пароль ему не заводится. Заведение пароля - личное дело каждого пользователя, для чего ему надо воспользоваться командой .
Утилита nuser написана на языке shell.
ФАЙЛЫ
/etc/passwd Файл со сведениями о пользова- телях. /udd Каталог начальных каталогов пользователей. /usr/lib/cron/at.allow Список пользователей, имеющих право выполнять команду .
СМ. ТАКЖЕ
, , в Справочнике пользователя
ИМЯ
waitsem, nbwaitsem - oжидaeт дocтyп к pecypcy, зaкpытoмy ceмaфopoм
СИНТАКСИС
int waitsem(sem_num) int sem_num;
int nbwaitsem(sem_num) int sem_num;
ОПИСАНИЕ
Waitsem oбecпeчивaeт дocтyп к pecypcy, зaкpытoмy ceмaфopoм sem_num. Ecли pecypc иcпoльзyeтcя дpyгим пpoцeccoм, waitsem пepeвoдит вызывaющий пpoцecc в cocтoяниe oжидaния дo тex пop, пoкa pecypc нe ocвoбoдитcя; в тaкoй cитyaции nbwaitsem вoзвpaщaeт знaчeниe ENAVAIL. Waitsem и nbwaitsem иcпoльзyютcя вмecтe c sigsem для cинxpoнизaции дocтyпa к oбщeмy pecypcy. K oднoмy ceмaфopy мoгyт oбpaтитьcя нecкoлькo пpoцeccoв c пoмoщью waitsem и пepeвoдятcя в peжим oжидaния, пoкa пpoцecc, влaдeющий pecypcoм, нe издacт sigsem. Пpи этoм yпpaвлeниe пepeдaeтcя oчepeднoмy пpoцeccy, cтoящeмy в oчepeди к этoмy ceмaфopy. Oчepeдь к ceмaфopy opгaнизyeтcя пo пpинципy "Пepвым пpишeл - пepвым oбcлyжeн".
Cиcтeмнaя coвмecтимocть
Waitsem мoжeт быть иcпoльзoвaн для paбoты c ceмaфopaми, coздaнными в oпepaциoннoй cpeдe XENIX вepcии 3.0, нo нe в cpeдe XENIX System V.
СМ. ТАКЖЕ
, , .
ДИАГНОСТИКА
B cлyчae oшибки waitsem вoзвpaщaeт -1. Ecли sem_num пpeдвapитeльнo нe oткpыт пyтeм вызoвa opensem или creatsem, пepeмeннoй errno пpиcвaивaeтcя знaчeниe EBADF. Ecли sem_num нe являeтcя yкaзaтeлeм нa фaйл типa "ceмaфop", пepeмeннoй errno пpиcвaивaeтcя знaчeниe ENOTNAM. Ecли пpoцecc, влaдeющий pecypcoм, нe ocвoбoдил eгo пepeд зaвepшeниeм, вce пpoцeccы, oжидaющиe в oчepeди к этoмy pecypcy, пoлyчaт errno co знaчeниeм ENAVAIL. Пpи этoм pecypc ocтaeтcя в нeoпpeдeлeннoм cocтoянии. Ecли пpoцecc издaл двa waitsem бeз пpoмeжyтoчнoгo вызoвa sigsem, пepeмeннoй errno пpиcвaивaeтcя знaчeниe EINVAL.
ЗAМEЧAНИЯ
Дaннaя вoзмoжнocть cпeцифичнa для oпepaциoннoй cpeды XENIX и, вoзмoжнo, нe мoжeт быть пpимeнeнa в дpyгиx cиcтeмax UNIX. Пpи кoмпoнoвкe нeoбxoдимo yкaзывaть флaг -lx.
НАЗВАНИЕ
directory: opendir, readdir, telldir, seekdir, rewinddir, closedir - операции над каталогами
СИНТАКСИС
#include <sys/types.h>
#include <dirent.h>
DIR *opendir (filename) char *filename;
struct dirent *readdir (dirp) DIR *dirp;
long telldir (dirp) DIR *dirp;
void seekdir (dirp, loc) DIR *dirp; long loc;
void rewinddir (dirp) DIR *dirp;
void closedir (dirp) DIR *dirp;
ОПИСАНИЕ
Функция opendir открывает каталог с именем filename и связывает с ним поток каталога. Opendir возвращает в качестве результата указатель, который используется в последующих операциях для идентификации потока каталога. Пустой указатель возвращается, если файл filename не доступен или не является каталогом, либо, если команда malloc(1M) не может выделить достаточного об ема памяти для структуры типа DIR или для буферов.
Функция readdir выдает указатель на следующий активный элемент каталога. Указатели на неактивные элементы каталога не выдаются. При достижении конца каталога или при выявлении некорректной позиции в каталоге возвращается пустой указатель.
Функция telldir выдает текущую позицию в указанном потоке каталога.
Функция seekdir устанавливает позицию для последующей операции readdir над потоком каталога. Данная позиция совпадает с той, которая была получена в результате выполнения операции telldir, вычислившей loc. Значения, которые возвращает telldir, корректны только в том случае, если каталог не сжимался и не расширялся. Такая проблема не возникает в случае версии 5, но может возникнуть для некоторых других типов файловых систем.
Операция rewinddir переустанавливает в начало позицию в указанном потоке каталога.
Операция closedir закрывает указанный поток каталога и освобождает структуру DIR.
При выполнении перечисленных операций могут возникнуть следующие ошибки:
opendir:
ИМЯ
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
НАЗВАНИЕ
od - восьмеричный дамп
СИНТАКСИС
od [-b] [-c] [-d] [-o] [-s] [-x] [файл] [[+]смещение[.][b]]
ОПИСАНИЕ
Команда od выдает на стандартный вывод файл в одном или нескольких форматах в соответствии с указанными опциями. При отсутствии опций используется восьмеричный формат (как в опции -o). Смысл опций формата таков:
Аргумент файл специфицирует файл, который необходимо распечатать. Если этот аргумент не указан, используется стандартный ввод.
Аргумент смещение определяет смещение в файле, с которого должна начинаться распечатка. Обычно этот аргумент интерпретируется как восьмеричное число байт. Если добавлена точка (.), то смещение трактуется как десятичное. Если добавлен символ b, то смещение считается заданным в блоках по 512 байт. Если файл не указан, смещению должен предшествовать символ +.
Файл распечатывается до конца.
СМ. ТАКЖЕ
.
НАЗВАНИЕ
open - открыть файл для чтения или записи
СИНТАКСИС
#include <fcntl.h>
int open (path, oflag [, mode]) char *path; int oflag, mode;
ОПИСАНИЕ
Аргумент path является указателем на маршрутное имя файла. Системный вызов open открывает дескриптор для указанного файла и устанавливает флаги статуса файла в соответствии со значением аргумента oflag. Для файлов, не являющихся псевдоустройствами [см. ], значение oflag задается как поразрядное ИЛИ флагов из следующего списка (из первых трех флагов можно установить только один):
O_RDONLY Открыть только на чтение. O_WRONLY Открыть только на запись. O_RDWR Открыть на чтение/запись. O_NDELAY Этот флаг может воздействовать на последующие операции чтения и записи [см. и ].
При открытии именованного канала с установленными флагами O_RDONLY или O_WRONLY:
Если установлен флаг O_NDELAY, то вызов open только на чтение завершается без задержки, а вызов open только для записи отрабатывает с сообщением об ошибке, если в данный момент нет процесса, открывшего файл для чтения; Если не установлен флаг O_NDELAY, то вызов open только на чтение блокируется, пока какой-либо процесс не откроет файл для записи, а вызов open только на запись блокируется, пока какой либо процесс не откроет файл на чтение.
При открытии файла, ассоциированного с линией связи:
Если установлен флаг O_NDELAY, то вызов open завершается без ожидания несущей. Если не установлен флаг O_NDELAY, то вызов open блокируется до появления несущей.
O_APPEND Перед каждой операцией записи устанавливать указатель текущей позиции на конец файла. O_SYNC При открытии обычного файла этот флаг воздействует на последующие операции записи. Если флаг установлен, то каждый вызов ожидает физического обновления как данных, так и статуса файла. O_CREAT Если файл существует, то флаг игнорируется. В противном случае идентификаторы владельца и группы создаваемого файла устанавливаются равными, соответственно, действующим идентификаторам пользователя и группы процесса, а младшие 12 бит значения режима доступа к файлу устанавливаются равными значению аргумента mode, модифицированному следующим образом [см. ]:
ИМЯ
opensem - oткpывaeт ceмaфop
СИНТАКСИС
int opensem (sem_name) char *sem_name;
sem_num = opensem (sem_name);
ОПИСАНИЕ
opemsem oткpывaeт ceмaфop, зaдaнный имeнeм sem_name, и вoзвpaщaeт yникaльный идeнтификaциoнный нoмep ceмaфopa sem_num, кoтopый зaтeм иcпoльзyeтcя вызoвaми waitsem и sigsem. Для инициaлизaции ceмaфopa пepeд пepвым eгo oткpытиeм нyжнo вызывaть creatsem.
Cиcтeмнaя coвмecтимocть
opensem мoжeт иcпoльзoвaтьcя для oткpытия ceмaфopoв тoлькo в XENIX, вepcия 3.0, нo нe для ceмaфopoв XENIX System V.
СМ. ТАКЖЕ
, ,
ДИАГНОСТИКА
opensem aвapийнo зaвepшaeтcя, ecли выпoлняeтcя xoтя бы oднo из cлeдyющиx ycлoвий:
B cлyчae oшибки вoзвpaщaeтcя знaчeниe -1 и в errno зaнocитcя кoд oшибки.
ЗAМEЧAНИЯ
Этa ocoбeннocть cпeцифичнa для XENIX и мoжeт oтcyтcтвoвaть в дpyгиx peaлизaцияx UNIX. Пpoгpaммa, иcпoльзyющaя этy фyнкцию, дoлжнa кoмпoнoвaтьcя c флaгoм -lx.
ПPEДYПPEЖДEНИE
Bo избeжaниe тyпикa нe cлeдyeт oткpывaть oдин и тoт жe ceмaфop бoлee oднoгo paзa.
НАЗВАНИЕ
operator - операторы C предшествующие и последующие выполнению
ОПИСАНИЕ
ФАЙЛЫ
/usr/share/misc/operator