Man pages на русском

         

DBM(3) XENIX System V (21 июня 1987)


ИМЯ

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НИЯ


Фaйл `.pag' мoжeт coдepжaть пycтыe oблacти, тaк чтo eгo oбъeм мoжeт пpимepнo в 4 paзa пpeвышaть oбъeм xpaнимыx в бaзe дaнныx. Пpeжниe вepcии XENIX пpи oбpaщeнии к пycтым oблacтям фaйлa мoгли зaнимaть пoд ниx peaльныe блoки диcкoвoгo пpocтpaнcтвa. Taкиe фaйлы нe мoгyт быть cкoпиpoвaны oбычными cpeдcтвaми (cp, cat, tp, tar, ar) бeз пpeдвapитeльнoгo зaпoлнeния пycтыx oблacтeй.

Укaзaтeль dptr в cтpyктypax типa datum, вoзвpaщaeмыx нeкoтopыми фyнкциями, yкaзывaeт cтaтичecкyю oблacть пaмяти, кoтopaя пepeзaпиcывaeтcя oчepeдным вызoвoм.

Cyммapнaя длинa пapы `ключ/дaнныe' нe дoлжнa пpeвышaть paзмepa блoкa (512 бaйтa). Бoлee тoгo, вce тaкиe пapы, имeющиe пpи xeшиpoвaнии oднo знaчeниe, дoлжны paзмeщaтьcя в oднoм блoкe. Ecли этo нe тaк, store вoзвpaщaeт oшибкy.

Delete нe измeняeт oбъeмa фaйлa, нo дeлaeт yдaлeнныe зaпиcи дocтyпными для нoвoгo иcпoльзoвaния.

Пopядoк ключeй, зaдaвaeмый фyнкциями firstkey и nextkey, oпpeдeляeтcя xeшиpoвaниeм.

Эти пpoгpaммы нepeeнтepaбeльны, пoэтoмy иx нeльзя иcпoльзoвaть для paбoты c нecкoлькими бaзaми oднoвpeмeннo.









DRAND48(3C)


НАЗВАНИЕ

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


Первым этапом вычисления возвращаемого значения для любой из функций drand48, erand48, lrand48, nrand48, mrand48 или jrand48 является генерация очередного 48 битного значения X[i]. Далее из него берутся старшие биты в количестве, определяемом типом требуемого данного, которые и преобразуются в возвращаемое значение.

Функции drand48, lrand48 и mrand48 сохраняют последнее сгенерированное 48-битное значение X[i] во внутреннем буфере - вот почему они должны быть инициализированы перед своим вызовом. Для функций же erand48, nrand48 и jrand48 вызывающая программа должна сама резервировать память под очередное значение X[i], передаваемое при вызове как аргумент. Эти функции инициализации не требуют; вызывающая программа должна просто поместить желаемое начальное значение X[i] в массив из трех 16-битных слов и передать тот как аргумент. Посредством использования различных аргументов функции erand48, nrand48 и jrand48 позволяют различным модулям большой программы генерировать несколько независимых потоков псевдослучайных чисел; другими словами, последовательность чисел в каждом потоке не зависит от того, как часто программа вызывалась для генерации чисел других потоков.

Инициализирующая функция srand48 устанавливает старшие 32 бита значения X[i] равными 32-м битам своего аргумента. Независимо от значения старших бит, младшие 16 бит X[i] устанавливаются равными 0x330E.

Инициализирующая функция seed48 устанавливает значение всех 48 бит X[i] по значению аргумента - массива из трех 16-битных слов. Предыдущее значение X[i] копируется в 48-битный внутренний буфер, используемый только функцией seed48. Возвращаемое функцией seed48 значение представляет собой указатель на этот буфер. Возвращаемый указатель в большинстве случаев игнорируется, однако он может оказаться полезным при перезапуске программы с данной точки в будущем. Для этого, используя указатель, следует извлечь и сохранить последнее значение X[i], которое затем, при перезапуске, употребить для повторной инициализации с помощью seed48.

Инициализирующая функция lcong48 дает пользователю возможность указать начальное значение X [i], значение коэффициента a и аддитивной константы c. В массиве, являющемся ее аргументом, элементы param [0-2] определяют X [i], элементы param [3-5] - коэффициент a и, наконец, param [6] - 16-битную константу c. После вызова lcong48 восстановить "стандартные" значения коэффициента a и константы c, описанные выше, можно путем вызова какой либо из функций srand48 или seed48.

ПРИМЕЧАНИЯ

Исходный текст данного семейства функций для мобильной версии может быть использован даже на компьютерах, не обладающих арифметикой вещественных чисел. В такой ситуации функций drand48 и erand48 не существует; их заменяют следующие две функции:

long irand48 (m) unsigned short m;

long krand48 (xsubi, m) unsigned short xsubi [3], m;

Функции irand48 и krand48 возвращают неотрицательные целые числа типа long, равномерно распределенные в интервале [0, m-1].

СМ. ТАКЖЕ

.









NAP(3) XENIX System V (21 июня 1987)


ИМЯ

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.



Ncftp


Программа 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 вы можете сохранить протокол своей работы.


Даже с учетом всех перечисленных изменений использование ncftp весьма напоминает работу с ftp. Об остальных средствах данной программы вы можете прочитать в разделе "Использование ftp" (здесь перечислены лишь различия).

При открытии хост-системы программа ncftp автоматически регистрирует вас как anonymous и задает в качестве пароля ваш почтовый адрес. Это позволяет не набирать каждый раз данную информацию и ускоряет процесс регистрации. Указав перед именем хост-компьютера параметр -u, вы можете переопределить такое поведение:

% ncftp -u chem.small.edu Login Name (chrisr): Password: User chrisr logged in.

В данном случае пользователь нажимает в ответ на приглашение Login Prompt клавишу Enter. При этом он регистрируется не анонимно, а под своим именем.

Как и при работе с обычной программой ftp вы можете задать файл с именем .netrc, содержащий список всех узлов, где вы обычно регистрируетесь. Этот файл может также содержать другие команды ncftp (как вы увидите далее). При наличии файла .netrc вам не нужно будет набирать полное имя хост-компьютера. Программа ncftp сможет распознать его всего по нескольким символам.

Предположим, что ваш файл .netrc выглядит следующим образом:

machine rtfm.mit.edu machine mac.archive.umich.edu machine wuarchive.wustl.edu machine ftp.apple.com machine sumex-aim.stanford.edu

Узел sumex-aim.stanford.edu можно открыть с помощью одной из следующих команд:

% ncftp sum

или

% ncftp aim

(поскольку sum и aim в перечисленных в данном файле именах других машин не встречаются). Аналогично, вы можете существенно сократить набор при открытии узла wuarchive.wustl.edu:

% ncftp wu

Программа ncftp упрощает открытие тех узлов, где вы уже регистрировались. Если вы дадите команду open без указания имени хост-компьютера, то получите в ответ 20 последних открытых узлов, а также тех узлов, которые перечислены в файле .netrc. Затем вы можете выбрать нужный узел, просто набрав его имя.

Предположим, например, что вы хотите открыть какой-то из тех узлов, которые вы недавно открывали, но помните только то, что он имеет имя bio:



ncftp> open Recently called sites: 1. BLOOM-PICAYNE.MIT.EDU 2. bloom-picayune.mit.edu 3. ftp.halcyon.com 4. enh.nist.gov 5. zaphod.ncsa.uiuc.edu 6. cica.cica.indiana.edu 7. biochemistry.bioc.cwru.edu 8. caisr2.caisr.cwru.edu ... (site to open) #7

Некоторые узлы, особенно те, где имеется свободно распространяемой и условно бесплатное программное обеспечение для ПК, настолько загружены, что отвергают попытки регистрации на них пользователей. Часто при этом выводится следующее сообщение: "Too busy, try later". Если вы пытаетесь зарегистрироваться на одном из таких узлов, попробуйте использовать параметр -r. При этом ncftp будет продолжать попытки регистрации, пока они не увенчаются успехом:

ncftp> open -r sum Too many users connected currently. Please try again later. Login failed. Retry Number: 2 Too many users connected currently. Please try again later. Login failed. Retry Number: 3 Guest connection accepted. Restrictions apply. Logged into sumex-aim.stanford.edu.

Вы можете также указать параметр -r перед именем узла в командной строке.

Часто ncftp используют для получения одного файла с заранее известным именем, например, одного из файлов, перечисленных в данной книге. В командной строке Unix это можно сделать с помощью одной команды. Введите после имени хост-компьютера двоеточие и маршрут файла. Программа ncftp воспринимает это как запрос на регистрацию, смену каталога, получение файла и выход из системы. Например, чтобы получить файл /pub/listing с хост-компьютера ftp.small.edu, можете ввести команду:

% ncftp ftp.small.edu:/pub/listing %

Этим методом вы можете воспользоваться и во время работы с ncftp:

ncftp> open ftp.small.edu:/pub/listing ncftp>

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

Параметр ncftp вы можете установить с помощью команды set. Наиболее часто используемые параметры перечислены в таблице. Для вывода текущих параметров используйте команду show.

Параметры команды указывают в командной строке:



ncftp> set progress-reports 4

Команды можно также поместить в файл .netrc, указав перед ними # (чтобы ftp считала их комментариями). Например, начало вашего файла .netrc может выглядеть следующим образом:

#set progress-reports 4 #set verbose 2 #set prompt "@C> "

Параметры ncftp

Параметр Описание anon-open Сообщает, нужно ли автоматически использовать при регистрации имя anonymous. anon-password Пароль, используемый при анонимной регистрации. local-dir Каталог, в котором будут сохраняться файлы. logfile Имя файла для регистрации ваших сеансов ncftp. Чтобы предотвратить регистрацию, оставьте это поле пустым. logsize Определяет, сколько строк будет включаться в файл регистрации. mprompt Сообщает, нужно ли выводить приглашение для каждого файла при использовании команды mget. netrc Имя файла запуска. prompt Выводимая на экран строка приглашения. progress-reports Вид отчета о ходе выполнения, который вы хотите видеть при передаче файла. 0 запрещает вывод такого отчета, 1 показывает процент переданных данных, 2 выводит графический индикатор, 3 показывает число переданных килобайт, а 4 выводит точку при передаче 10% данных. resent-list Определяет, нужно или нет запоминать последние открытые вами узлы. tips Задает вывод рекомендаций по регистрации на узлах и использованию ncftp. type Тип передаваемых данных (ascii или binary).

Последняя строка показывает, как можно ввести в ответ на приглашение специальную комбинацию символов, позволяющих получить о вашем сеансе полезную информацию. Это следующие комбинации:
Строка Смысл @D Полное имя маршрута удаленного компьютера. @J Текущее имя каталога на удаленном компьютере. @H Имя удаленного хост-компьютера. @C Имя удаленного хост-компьютера и полное имя маршрута, которые разделяются точкой с запятой. @c Эквивалентно @C, но далее выводится символ новой строки. @E Показывает число введенных вами команд. @M Если во время работы с ncftp вы получаете электронную почту, выводит (Mail). @B Выводит следующий текст жирным шрифтом. @I Выводит следующий текст курсивом. @U Выводит следующий текст с подчеркиванием. @R Выводит следующий текст в обратном видеорежиме. @P Следующий текст выводится как простой текст. @N Символ новой строки.



Чтобы видеть каталог и хост-компьютер, где вы находитесь, вы можете задать следующее:

set prompt "@C> "

После этого подсказка может, например, выглядеть следующим образом:

ftp.cso.uiuc.edu:/doc/pcnet>

При работе с ncftp вы можете легко прочитать файлы на удаленных системах. Команда page позволяет вам просматривать содержимое файлов постранично. (Она выполняет в ncftp команду more операционной системы Unix.) Такой возможностью полезно воспользоваться, если у вас есть индекс каталога, и вы хотите перед загрузкой просмотреть содержимое файлов. Например, чтобы увидеть файл с именем index, вы можете дать следующую команду:

ncftp> page index

Для постраничного вывода длинного листинга каталога используйте команды pls и pdir. Эти команды соответствуют командам ls и dir, но информация выводится поэкранно.

С помощью ncftp вы можете легко получить файлы. Чтобы получить файл, вам не нужно набирать его полное имя. Если с помощью трафаретных символов вы выбрали только один файл, то команда get будет считывать его. Это особенно удобно при длинных или сложных именах файлов (аналогичных тем, которые применяются в FAQ).

Обратите внимание, что имя FAQ в следующем примере трудно набрать, но легко задать в качестве имени файла:

ncftp>ls S_U_S_F_(R_d_t_p_p) Southern_US_Skiing_FAQ ncftp>get *p) Receiving file: S_U_S_F_(R_d_t_p_p) S_U_S_F_(R_d_t_p_p): ........... S_U_S_F_(R_d_t_p_p): 20405 bytes received in 0.71 seconds, 28.02 K/s.

Аналогичным образом можно уникально задать файл как S_*.

Команда lookup позволяет вам преобразовывать доменные имена в IP-адреса и наоборот:

ncftp>lookup 204.1.123 ivideo.com 204.1.1.23 ncftp>lookup ivideo.com ivideo.com 204.1.1.23

При работе с ncftp вы можете вести протокол команд, документируя таким образом свой поиск. Для этого используйте команду set и имя файла журнала, а затем укажите число строк, которые вы хотите записывать в журнал:

ncftp>logfile "ncftp.log" ncftp>logsize 5000

Эти команды можно также поместить в файл .netrc.









NCHECK(1M)


НАЗВАНИЕ

ncheck - генерация маршрутных имен по номерам описателей файлов

СИНТАКСИС

/etc/ncheck [-i номер_описателя ...] [-a] [-s] [файловая_система]

ОПИСАНИЕ

Команда ncheck при отсутствии аргументов генерирует маршрутные имена по номерам описателей всех файлов из установленного по умолчанию множества файловых систем (см. файл /etc/checklist). После имен файлов-каталогов помещается двухсимвольная комбинация /..

Команда ncheck обрабатывает следующие опции:

-i Выдавать имена только для файлов, чьи номера описателей указаны в опции. -a Выводить имена . и .. (по умолчанию они не выводятся). -s Выдавать имена только для специальных файлов и файлов с правом на переустановку идентификатора пользователя. Данную опцию можно использовать для обнаружения нарушений режима секретности.

Файловая_система задается именем содержащего ее специального файла.

Выдаваемую информацию рекомендуется отсортировать в нужном порядке.

СМ. ТАКЖЕ

.

, , в Справочнике пользователя.

ДИАГНОСТИКА

Если структура файловой системы нарушена, то ?? обозначает неизвестное имя каталога, содержащего данный файл, а маршрутное имя, начинающееся с ..., обозначает цикл.



NCHECK(8)


НАЗВАНИЕ

ncheck - генерирует имена по номерам индексных дескрипторов.

СИНТАКСИС

ncheck [-i numbers] [-a] [-s] [filesystem]

ОПИСАНИЕ

ncheck без аргументов генерирует список полных имен и номеров индексных дескрипторов всех файлов в наборе файловых систем, заданных в /etc/mnttab. К именам файлов каталогов добавляются два символа "/.". Опция -i ограничивает выдачу только теми файлами, номера индексных дескрипторов которых перечисляются вслед за этой опцией. Опция -a разрешает выдачу имен . и .. , которые обычно подавляются. Опция -s ограничивает выдачу только специальными файлами и файлами с режимом проверки права доступа; она предназначается для обнаружения скрытых нарушений системы защиты. Вместо списка файловых систем, используемых по умолчанию, можно задать одну единственную файловую систему filesystem.

ФАЙЛЫ

/etc/mnttab

СМ. ТАКЖЕ

,

ДИАГНОСТИКА

При некорректности конструкции файловой системы символы ?? обозначают "родителя" файла-сироты, а полное имя, начинающееся с ..., обозначает петлю (зацикливание).

ПРИМЕЧАНИЯ

Смотрите Примечания в разделе .



NETUTIL(8)


НАЗВАНИЕ

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 пускается без опций, то она высвечивает меню, из которого можно выбрать одну из них. Как только опция будет выбрана, она запрашивает при необходимости дополнительную информацию.


Перед запуском сеть должна быть инсталлирована. Инсталляция заключается в формировании соответствующих конфигурационных файлов с помощью опции install. Эта опция запрашивает имя каждой машины в сети, последовательные порты, используемые для соединения машин, скорость передачи информации на каждой линии и имена пользователей для каждой машины. После создания этих файлов они должны быть перенесены на все компьютеры сети с помощью опций save и restore. После запуска по сети могут передаваться почтовые сообщения и команды дистанционного выполнения. Регистрация пересылок между компьютерами сети может осуществляться с помощью сетевых файлов регистрации. Процесс иснасталляции сети описывается Руководстве администратора системы.

ФАЙЛЫ

/etc/netutil /etc/default/micnet

СМ. ТАКЖЕ

aliases(5), , , micnet(3), , , systemid(3), top(3).









NEWALIASES(1) FreeBSD Reference Manual


ИМЯ

newaliases - перестраивает базу данных для файла почтовых алиасов.

СИНТАКСИС

newaliases

ОПИСАНИЕ

Newaliases перестраивает базу данных для файла почтовых алиасов /etc/aliases. Утилита должна запускаться каждый раз при изменении алиасов.

Newaliases идентична ``sendmail -bi''.

Утилита Newaliases возвращает 0 в случае успеха и значение >0 в случае ошибки.

ФАЙЛЫ

/etc/aliases Файл почтовых алиасов.

СМ. ТАКЖЕ

aliases(5), sendmail(8)

ИСТОРИЯ

Команда newaliases появилась в 4.0BSD.



NEWFORM(1)


НАЗВАНИЕ

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-й позиции была размещена последовательность цифр, с которой начинается исходная строка. Это достигается выполнением команды:


newform -s -i -l -a -e f1

-iспециф_табул

Спецификация табуляции при вводе: символы табуляции заменяются на пробелы в соответствии с заданной спецификацией, которая воспринимается в любой из форм, описанных в . Кроме того, специф_табул может быть задана как --, и тогда предполагается, что собственно спецификация табуляции находится в первой строке, считанной со стандартного ввода [см. ]. Если специф_табул не задана, то принимается, что она равна -8 (значение по умолчанию). При специф_табул, равной -0, предполагается отсутствие в тексте символов табуляции; в случае их обнаружения они обрабатываются как при специф_табул, равной -1.

-oспециф_табул

Спецификация табуляции при выводе: пробелы заменяются символами табуляции в соответствии с заданной спецификацией, аналогичной по форме -iспециф_табул. Если специф_табул не задана, то принимается, что она равна -8. При специф_табул, равной -0, пробелы при выводе символами табуляции не заменяются.

-b[число_символов]

Отсечь от начала строки указанное число_символов в случае, если длина строки превышает номинальную (см. -l). По умолчанию (когда число_символов не указано) начальные символы отсекаются в количестве, необходимом для получения строки номинальной длины. Опцию -b можно использовать, например, для удаления порядковых номеров строк из программы на КОБОЛе (файл f2), что делается следующим образом:

newform -l1 -b7 f2

Использование опции -l1 обусловлено необходимостью установки номинальной длины, меньшей чем длина любой существующей строки, с тем чтобы активировать опцию -b.

-e[число_символов]

Аналогично -b с тем отличием, что символы отсекаются от конца строки.

-p[число_символов]

Добавить в начало строк с длиной, меньшей номинальной, указанное число одинаковых символов (см. -c). Если число_символов не указано, строки дополняются до номинальной длины.

-a[число_символов]

Аналогично -p с тем отличием, что пополняется конец строки.

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

-cсимвол



Заменить символ, которым пополняется начало/ конец строки, на указанный символ. По умолчанию в качестве заполнителя используется пробел.

-l[длина]

Установить номинальную длину строки. Если длина опущена, то номинальная длина строки принимается равной 72. Если опция -l не задана вовсе, то номинальная длина принимается равной 80. Следует заметить, что каждый символ табуляции и забоя рассматривается как единичный символ (для замены символов табуляции пробелами необходимо воспользоваться опцией -i).

СМ. ТАКЖЕ

, .

в Справочнике программиста.

КОДЫ ЗАВЕРШЕНИЯ

0 Нормальное завершение. 1 Зафиксированы ошибки.

ДИАГНОСТИКА

Появление любой диагностики означает фатальную ошибку.

usage: ...

Команда вызвана с недопустимой опцией.

not -s format

Обнаружена строка, не содержащая символа табуляции.

can't open file

Не открывается файл.

internal line too long

Строка, будучи расширена путем замены символов табуляции пробелами или иным способом, не поместилась во внутренний рабочий буфер из 512 байт.

tabspec in error

Спецификация табуляции имеет недопустимый формат или позиции табуляции заданы не в порядке возрастания.

tabspec indirection illegal

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

СЮРПРИЗЫ

Командой newform обычно отслеживают только физические символы; однако в случае опций -i и -o отслеживаются также символы забоя, чтобы символы табуляции отмечали надлежащие логические колонки.

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

Если используется опция -f, а из опций -o последней была указана -o-- и ей предшествовала какая-либо из опций -i-- или -o--, то формат строки спецификации табуляции будет некорректным.









NEWGRP(1)


НАЗВАНИЕ

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(1)


НАЗВАНИЕ

news - выдача новостей

СИНТАКСИС

news [-a] [-n] [-s] [новость ...]

ОПИСАНИЕ

Команда news используется для того, чтобы получать текущую информацию. По соглашению такая информация представляет собой файлы в каталоге /usr/news; новость - это имя соответствующего файла.

Команда news без аргументов выводит (с поясняющими заголовками) содержимое всех свежих файлов из каталога /usr/news, причем самые свежие новости выдаются первыми. Свежими считаются файлы, созданные позднее "времени опроса". Под "временем опроса" понимается время модификации файла .news_time в основном каталоге пользователя. (Основной каталог определяется значением переменной окружения $HOME.)

Допустимые опции:

-a Выдаются все новости, независимо от того, являются ли они свежими. "Время опроса" не изменяется. -n Выдаются наименования свежих новостей, без вывода их содержимого. "Время опроса" не изменяется. -s Сообщается количество свежих новостей. Ни наименования новостей, ни их содержимое не выводится. "Время опроса" не изменяется. Эта опция бывает полезной для включения команды news в пользовательский профайл .profile или в системный профайл /etc/profile.

Остальные аргументы указывают, какие именно новости должны быть выведены.

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

ФАЙЛЫ

/etc/profile /usr/news/* $HOME/.news_time

СМ. ТАКЖЕ

, в Справочнике программиста.



Nfs


НАЗВАНИЕ

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_getfh - Получить выход на файл NFS

СИНТАКСИС

#include <sys/fs/nfs.h>

nfs_getfh(fdes, fhp) int fdes; fhandle_t *fhp;

ОПИСАНИЕ

Функция nfs_getfh возвращает выход на файл, открытый с дескриптором fdes. Этим выходом пользуется только процесс монтирования NFS, для пользователей он должен быть недоступен.

СМ. ТАКЖЕ



Nfs_svc, async_daemon


НАЗВАНИЕ

Управляющие процессы в 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


НАЗВАНИЕ

nfsclnt - создание клиентских выходов на NFS

СИНТАКСИС

nfsclnt [ nclienthandles ]

ОПИСАНИЕ

Команда nfsclnt назначает транспортные окончания (без установления логического соединения), которые используются для создания клиентских выходов. Программы клиента сетевой файловой системы получают клиентские выходы на время работы RPC.

Nclienthandles - количество выделенных клиентских выходов. Значение этого параметра ограничивает число параллельно выполняемых операций клиента сетевой файловой системы и должно основываться на ожидаемой нагрузке. Если возникает потребность в дополнительных клиентских выходах, можно запустить больше процессов nfsclnt. Количество клиентских выходов, доступных программам клиентов NFS, складывается из числа клиентских выходов, выделенных каждой nfsclnt-программе. Удаление nfsclnt-процесса сократит число клиентских выходов на то количество, которое изначально было создано этим процессом.

ФАЙЛЫ

/dev/inet/udp устройство UDP

СМ. ТАКЖЕ



Nfsd, biod


НАЗВАНИЕ

nfsd, biod - сервисные процессы в NFS

СИНТАКСИС

/etc/nfsd [nservers] /etc/biod [nservers]

ОПИСАНИЕ

Команда nfsd запускает процессы на сетевом сервере по запросам, поступающим с клиентских выходов. Nservers - количество процессов, запускаемых по запросам. Значение этого аргумента определяется ожидаемой нагрузкой на сервер.

Команда biod, поданная клиентом NFS, запускает nservers процессов асинхронного ввода-вывода блоками, которые выполняют чтение и запись блоков в буферном кеше клиента.

СМ. ТАКЖЕ

,



NFSSTAT(1) FreeBSD Reference Manual


ИМЯ

nfsstat - показывает NFS статистику

СИНТАКСИС

nfsstat [-M core] [-N system] [-w wait]

ОПИСАНИЕ

Nfsstat показывает сохраненную статистику о NFS клиентах и активах сервера.

ОПЦИИ

-M открывает значения, ассоциированные со списком имен, из указанного файла, вместо файла /dev/kmem. -N открывает список имен из указанной системы, взамен /kernel. -w показывает краткий актив NFS для сервера и клиента на ожидаемых интервалах секунд.

ФАЙЛЫ

/kernel /dev/kmem

СМ. ТАКЖЕ

fstat(1), netstat(1), , systat(1), sysctl(3), iostat(8), pstat(8), vmstat(8)

ИСТОРИЯ

Команда nfsstat появилась в 4.4BSD.



NICE(1)


НАЗВАНИЕ

nice - выполнение команды с пониженным приоритетом

СИНТАКСИС

nice [-коэффициент_понижения] команда [аргумент ...]

ОПИСАНИЕ

Команда nice выполняет команду с пониженным приоритетом. Коэффициент_понижения задается в диапазоне 1-19 (по умолчанию равен 10).

Суперпользователь может выполнять команды с повышенным приоритетом, для этого нужно указать отрицательный коэффициент_понижения, например --10.

СМ. ТАКЖЕ

. в Справочнике программиста.

КОД ЗАВЕРШЕНИЯ

Команда nice возвращает код завершения подчиненной команды.

СЮРПРИЗЫ

Коэффициент_понижения, больший 19, принимается равным 19. Если обычный пользователь указывает отрицательный коэффициент_понижения, команда выполняется с нормальным приоритетом.



NL(1)


НАЗВАНИЕ

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разделитель


Задается цепочка символов, отделяющих номер строки от текста. По умолчанию используется табуляция.

-wчисло

Установка числа цифр в номере строки. Подразумеваемое значение равно 6.

-nформат

Задается формат записи номеров строк. Допустимые форматы и их смысл:

ln Выравнивание по левой границе с подавлением незначащих нулей.

rn Выравнивание по правой границе с подавлением незначащих нулей.

rz Выравнивание по правой границе с сохранением незначащих нулей.

-lчисло

Число пустых строк, рассматриваемых как одна. Например, -l2 означает, что нумеруется только вторая из двух соседних пустых строк (если задана опция -ha, -ba и/или -fa). Подразумеваемое значение равно 1.

-dразделитель

Переопределение пары символов, разделяющих секции логических страниц (по умолчанию \:). Если задан только один символ, то второй (:) остается неизменным. Между -d и разделителем не должно быть пробелов. Символ \ кодируется парой символов \.

ПРИМЕР

Команда

nl -v10 -i10 -d!+ f1

нумерует строки файла f1, начиная с 10, с шагом 10. Предполагается, что для разделения секций логических страниц используется комбинация символов !+.

СМ. ТАКЖЕ

.









NLIST(3C)


НАЗВАНИЕ

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(1)


НАЗВАНИЕ

nm - вывод таблицы имен об ектного файла обычного формата

СИНТАКСИС

nm [-o] [-x] [-h] [-v] [-n] [-e] [-f] [-u] [-r] [-p] [-V] [-T] файл ...

ОПИСАНИЕ

Команда nm выдает на стандартный вывод таблицу имен для каждого об ектного файла, указанного в командной строке. Файл может быть как перемещаемым, так и абсолютным об ектным файлом, или может быть архивом из таких файлов. Для каждого элемента таблицы выдается следующая информация:

Name Имя элемента таблицы. Value Значение, выражаемое как смещение или адрес, в зависимости от класса хранения. Class Класс хранения. Type Информация о типе. Если элемент описывает экземпляр структуры или об единения, то за типом будет выведено имя структуры или об единения (например, struct-имя). Если элемент соответствует массиву, то размер массива будет указан за типом (например, char[n][m]). Заметим, что для наличия этой информации файл должен быть откомпилирован командой с опцией -g. Size Размер в байтах, если он определен. Заметим, что для наличия этой информации файл должен быть откомпилирован командой с опцией -g. Line Номер строки в файле с исходным текстом, в которой об ект определяется, если эта информация имеет смысл. Заметим, что для наличия этой информации файл должен быть откомпилирован командой с опцией -g. Section Для об ектов с классом хранения статический (static) и внешний (extern) указывается секция, которой принадлежит об ект: секция команд (.text), секция инициализированных данных (.data) или секция неинициализированных данных (.bss).

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

-o Выводить значение и размер в восьмеричном виде, а не в десятичном. -x Выводить значение и размер в шестнадцатеричном виде, а не в десятичном. -h Не выводить заголовок. -v Отсортировать внешние об екты по значению. -n Отсортировать внешние об екты по алфавиту. -e Выдавать только статические и внешние об екты. -f Выдавать всю информацию. Выводятся обычно подавляемые избыточные элементы таблицы имен (.text, .data, .lib, .bss). -u Выводить только неопределенные об екты. -r Добавлять в начале каждой выводимой строки имя об ектного файла или архива. -p Выводить в легко обозримом, кратком формате. Перед именем каждого об екта стоит его значение (пробелы, если не определено) и одна из следующих букв: U (неопределенный), A (абсолютный), T (входит в секцию команд), D (входит в секцию данных), S (входит в секцию, определенную пользователем), R (располагается в регистре), F (файл) или C (входит в общий блок). Информация о локальных (не внешних) об ектах выдается малыми буквами. -V Вывести в стандартный протокол информацию о версии команды nm. -T По умолчанию команда nm выводит полные имена об ектов. Но так как об ектные файлы могут содержать имена произвольной длины, то возможен сдвиг последующих колонок. Опция -T вызывает усечение длинных имен. При этом факт усечения отмечается звездочкой в последней позиции, отведенной под имя.


Опции можно использовать в произвольном порядке, вместе или по отдельности, и в произвольном месте командной строки. Так, команды

nm f1 -e -v и nm -ve f1

работают одинаково: выдают статические и внешние об екты файла с сортировкой внешних об ектов по значению.

ФАЙЛЫ

TMPDIR/* Временные файлы.

Обычно каталог TMPDIR - это /usr/tmp, однако данное соглашение можно изменить, присвоив переменной окружения TMPDIR другое значение [см. tempnam( ) в ].

СМ. ТАКЖЕ

, , .

, a.out(4), в Справочнике программиста.

ДИАГНОСТИКА

nm: файл: cannot open Файл не удается открыть. nm: файл: bad magic Файл не является об ектным файлом обычного формата. nm: файл: no symbols Файл не содержит таблицы имен.

СЮРПРИЗЫ

В ситуации, когда выводятся все об екты, для сохранения локализации информации нужно, чтобы об екты выводились в том порядке, в каком они хранятся в таблице имен. Следовательно, опции -v и -n следует использовать только вместе с опцией -e.









Nmountall, numountall


НАЗВАНИЕ

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, # подробнее о них см. в .


Обратите внимание на то, что пустые строки в файле /etc/default/filesys игнорируются.

На практике наша запись таблицы файловых систем может выглядеть следующим образом:

bdev=nfs2:/ mountdir=/nfs/nfs2 \ mount=prompt mountflags= \ fsck=no fsckflags= rcfsck=no \ desc="The Root Filesystem of machine NFS2" \ rcmount=yes fstyp=NFS \ nfsorts="bg,soft,wsize=1024,rsize=1024,nosuid"

СМ. ТАКЖЕ

, , fuser(8) и , filesys(2).

ДИАГНОСТИКА

Процесс nmountall, прежде чем выполнить команды монтирования, выводит их на экран.

Процесс numountall выводит список идентификаторов тех процессов, которым он посылает сигналы. Приводится также перечень демонтируемых файловых систем.

ЗАМЕЧАНИЯ

Информация в третьем столбце появляется только в том случае, если файловая система была смонтирована как "read-only" (только для чтения).









NOHUP(1)


НАЗВАНИЕ

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(1)


ИМЯ

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(7)


НАЗВАНИЕ

null - пустой файл

ОПИСАНИЕ

Данные, записываемые в /dev/null - пустой специальный файл, на самом деле просто игнорируются.

При чтении из пустого специального файла всегда возвращается 0 байт.

ФАЙЛЫ

/dev/null



NUSER(1M)


НАЗВАНИЕ

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(3) XENIX System V (21 июня 1987)


ИМЯ

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(3X)


НАЗВАНИЕ

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:

[ENOTDIR] Компонент маршрутного имени filename не является каталогом. [EACCES] Для компонента маршрутного имени filename отсутствует право на поиск. [EMFILE] Будет превышено максимально допустимое число описателей файлов. [EFAULT] Аргумент filename указывает за пределы отведенного процессу адресного пространства.


readdir:

[ENOENT] Текущая позиция каталога не соответствует корректному элементу. [EBADF] Описатель файла, определенный аргументом dirp, в данный момент некорректен. Возможная причина - поток был закрыт.

telldir, seekdir и closedir:

[EBADF] Описатель файла, определенный аргументом dirp, в данный момент некорректен. Возможная причина - поток был закрыт.

ПРИМЕР

Приведем фрагмент программы для поиска в каталоге элемента name:

dirp = opendir ("."); while ((dp = readdir (dirp)) != NULL) if (strcmp (dp->d_name, name) == 0) { closedir (dirp); return FOUND; } closedir (dirp); return NOT_FOUND;

СМ. ТАКЖЕ

, .

ПРЕДОСТЕРЕЖЕНИЯ

Rewinddir реализован как макрос, поэтому к нему нельзя применить операцию вычисления адреса функции.

IPR(1)


ИМЯ

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


Указывает должны ли быть использованы меры противодействия заминанию бумаги. Если такие шаги предпринять, то печать обычно замедляется.

Значения для установок по умалчиванию могут быть изменены для отражения локальный системной конфигурации. Если файл /etc/default/imagen не существцет или не может быть прочитан, то используются значения по умалчиванию, описанные выше.

ФАЙЛЫ

/usr/bin/lp Система буферизации печатывающего устройства XENIX.

СМ. ТАКЖЕ

imagen(5), , , itroff(1),

ЗАМЕЧАНИЯ

Число печатаемых копий,а также другие параметры могут заменяться информацией управления документацией, содержащейся в самой документации.

АВТОР

Корпорация IMAGEN.









OD(1)


НАЗВАНИЕ

od - восьмеричный дамп

СИНТАКСИС

od [-b] [-c] [-d] [-o] [-s] [-x] [файл] [[+]смещение[.][b]]

ОПИСАНИЕ

Команда od выдает на стандартный вывод файл в одном или нескольких форматах в соответствии с указанными опциями. При отсутствии опций используется восьмеричный формат (как в опции -o). Смысл опций формата таков:

-b Выдавать байты в восьмеричном виде. -c Интерпретировать байты как коды ASCII. Некоторые служебные символы выводятся по соглашениям, принятым в языке C: пусто=\0, забой=\b, переход_к_новой странице=\f, перевод_строки=\n, возврат_каретки=\r, табуляция=\t; все остальные выводятся как восьмеричные числа из 3 цифр. -d Выдавать 16-разрядные слова в виде десятичных чисел без знака. -o Выдавать 16-разрядные слова в восьмеричном виде. -s Выдавать 16-разрядные слова в виде десятичных чисел со знаком. -x Выдавать 16-разрядные слова в шестнадцатеричном виде.

Аргумент файл специфицирует файл, который необходимо распечатать. Если этот аргумент не указан, используется стандартный ввод.

Аргумент смещение определяет смещение в файле, с которого должна начинаться распечатка. Обычно этот аргумент интерпретируется как восьмеричное число байт. Если добавлена точка (.), то смещение трактуется как десятичное. Если добавлен символ b, то смещение считается заданным в блоках по 512 байт. Если файл не указан, смещению должен предшествовать символ +.

Файл распечатывается до конца.

СМ. ТАКЖЕ

.



OPEN(2)


НАЗВАНИЕ

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, модифицированному следующим образом [см. ]:


Биты, соответствующие единичным битам маски режима создания файлов текущего процесса [см. ], устанавливаются равными 0. Бит навязчивости [см. ] устанавливается равным 0.

O_TRUNC Если файл существует, то он опустошается (размер становится равным 0), а режим доступа и владелец не изменяются. O_EXCL Если установлены оба флага O_EXCL и O_CREAT, то системный вызов open завершается неудачей, если файл уже существует.

При открытии псевдоустройства значение oflag может задаваться как поразрядное ИЛИ флага O_NDELAY с одним из флагов O_RDONLY, O_WRONLY или O_RDWR. Другие флаги применительно к псевдоустройствам игнорируются. Флаг O_NDELAY воздействует на работу драйверов псевдоустройств и некоторые системные вызовы[см. , , , ]. Что касается драйверов, то реализация флага O_NDELAY зависит от устройства.

Некоторые флаги могут быть установлены и после открытия файла, посредством системного вызова [см. также ].

Указатель текущей позиции устанавливается на начало файла.

Новый дескриптор файла остается открытым после выполнения системных вызовов [см. ].

Системный вызов open завершается неудачей и дескриптор указанного файла не открывается, если выполнено хотя бы одно из следующих условий:

[EACCES] Нет права на поиск для компонента маршрута. [EACCES] Для указанного файла нет прав на выполнение операций, задаваемых значением oflag. [EAGAIN] Файл существует и доступ к нему заблокирован [см. ]. [EEXIST] Флаги O_CREAT и O_EXCL установлены и указанный файл существует. [EFAULT] Аргумент path указывает за пределы отведенного процессу адресного пространства. [EINTR] Во время выполнения системного вызова перехвачен сигнал. [EIO] Разрыв связи или ошибка при открытии псевдоустройства. [EISDIR] Указанный файл является каталогом и открывается на запись или чтение/запись. [EMFILE] Превышается максимально допустимое количество дескрипторов файлов, открытых одновременно в одном процессе. [EMULTIHOP] Компоненты path требуют многократного обращения к удаленным компьютерам. [ENFILE] Переполнение системной таблицы файлов. [ENOENT] Флаг O_CREAT не установлен и указанный файл не существует. [ENOLINK] Маршрутное имя path указывает на удаленный компьютер, связи с которым в данный момент нет. [ENOMEM] Система не в состоянии выделить память под дескриптор пересылки. [ENOSPC] Установлены флаги O_CREAT и O_EXCL и нет свободных описателей файлов. [ENOSR] Нет места для потока. [ENOTDIR] Компонент маршрута не является каталогом. [ENXIO] Указанный файл является специальным символьным или блочным файлом, а устройство, ассоциированное с этим специальным файлом, не существует. [ENXIO] Установлены флаги O_NDELAY и O_WRONLY, указанный файл является именованным каналом и нет процесса, открывшего файл для чтения. [ENXIO] Неудачная попытка выполнить процедуру открытия для модуля или драйвера псевдоустройства. [EROFS] Указанный файл расположен в файловой системе, доступной только на чтение, а открывается на запись или чтение/запись. [ETXTBSY] Файл содержит секцию команд, которая в данный момент выполняется.

СМ. ТАКЖЕ

, , , , , , , , , , , , .

ДИАГНОСТИКА

При успешном завершении результатом служит дескриптор файла; в случае ошибки возвращается -1, а переменной errno присваивается код ошибки









OPENSEM(3) XENIX System V (21 июня 1987)


ИМЯ

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вий:

[ENOENT] Укaзaнный ceмaфop нe cyщecтвyeт. [ENOTNAM] Укaзaнный фaйл нe являeтcя ceмaфopным (т.e тaким, кoтopый был coздaн вызoвoм ). [ENAVAIL] Ceмaфop нeкoppeктeн.

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(7)FreeBSD Reference Manual


НАЗВАНИЕ

operator - операторы C предшествующие и последующие выполнению

ОПИСАНИЕ

ОператорСвязывание () [] -> .Слева направо ! ~ ++ -- - (type) * & sizeofСправа налево * / %Слева направо + -Слева направо << >>Слева направо < <= > >=Слева направо == !=Слева направо & Слева направо ^ Слева направо | Слева направо &&Слева направо Слева направо ?:Справа налево = += -= etc.Справа налево ,Слева направо

ФАЙЛЫ

/usr/share/misc/operator