Утилиты оболочки GNU

Перевод Макса Васина


Введение

Прежде всего, это руководство неполное. Раздел `stty', в особенности, требует реорганизации и добавления описательного текста, прежде он будет на уровне стандарта других руководств GNU. Описательного текста недостаточно; руководство сейчас подразумевает, что Вы достаточно хорошо знаете, что нужно делать и нужлаетесь в простом напоминании как это сделать. Т.о. если Вы заинтересованы, пожайлуйста, участвуйте в улучшении этого руководства. Этим Вы принесете пользу всему сообществу GNU.

Некоторые мз этих программ полезны только при написании сценариев; такие утилиты, в действительности, составляют "язык" сценариев (большую часть). Другие иногда полезны сами по себе.

Утилиты оболочки GNU в основном совместимы со стандартом POSIX.2.

Пожалйста, сообщайте обошибках на bug-sh-utils@gnu.org. Незабудьте, указать номер версии, архитектуру машины, входные файлы, и любую другую информацию нелбходимую для воспроизведения ошибки: что Вы вводили, что ожидали получить, что получили и почему это неверно. Diff-файлы принимаются, но пожалйста влючите описание проблемы, поскольку оно не всегда очевидно.

Это руководство первоначально было создано из man-страниц Unix, в дистрибутиве, написанном Дэвидом МакКензи и обновленном Джимом Мейерингом. То, что Вы сейчас читаете -- это надежная документация по этим утилитам; man-страницы более не поддерживаются. Franc,ois Pinard (как его имя читается по-русски? напишите мне, если знаете) сделал начальное преобразование в формат Texinfo. Карл Берри сделал индексы, некоторую реорганизацию и корректировку результатов. Ричард Столлмен проявил свою неоценимую проницательность ко всему процессу.

Общие параметры

Некоторые параметры доступны во всех этих программах. Вместо написания одинаковых описаний для каждой программы они описаны здесь. (Вообще, все программы GNU понимают (или должны понимать) эти параметры).

Многие изэтих программ принимают произвольные строки как параметры. В этих случаях, `--help' и `--version' воспринимаются как эти параметры, только если они являются единственными параметрами.

`--help'
Печатает справку об использовании, указывая все доступные парметры, а затем завершается без ошибки.
`--version'
Печатает номер версии и завершается без ошибки.

Форматы ввода даты

Во-первых, цитата:

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

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

-- Роберт Грудин, `Время и искусство жить'.

Этот раздел описывает текстовые представления даты, принимаемые программами GNU. Это строки, которые Вы как пользователь можете передать в качестве аргументов различным программам. C-интерфейс (через функцию `getdate') здесь не описывается.

Хотя этот синтаксис даты может представлять любое время начиная с нуля н.э., целые числа компьютеров недостаточно велики для такого (сравнительно) большого отрезка времени. Самая ранняя дата семантически допустимая на Unix системах -- это полночь 1 января 1970 г.

Основной синтаксис даты

"Дата" -- это строка, возможно пустая, содержащая много элементов, разделенных пробелами. Пробел может быть опущен, если не появляются никакие неоднозначности. Пустая строка означает начало сегодняшнего дня (т.е. полночь). Порядок пунктов несущественен. Строка даты может содержать много разных пунктов:

Мы опишем каждый из этих типов элементов по очереди ниже.

Несколько чисел могут быть написаны словами в большинстве случаев. Это наиболее полезно для указания дня недели или относительных пунктов (см. ниже). Вот список: `first' -- 1, `next' -- 2, `third' -- 3, `fourth' -- 4, `fifth' -- 5, `sixth' -- 6, `seventh' -- 7, `eighth' -- 8, `ninth' -- 9, `tenth' -- 10, `eleventh' -- 11 и `twelfth' -- 12. Также `last'означает -1.

Когда месяц указывается таким образом, предполагается, что он указан численно, вместо "чтение полностью по буквам"; это изменяет допустимые строки.

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

Календарная дата

"Календарная дата" указывает день года. Она указывается различными способами, в зависимости от того, указывается месяц численно или прописью. Все эти строки указывают одну календаную дату:

     1970-09-17           # ISO 8601.
     70-9-17              # По умолчанию XX век используется.
     70-09-17             # Лидирующие нули игнорируются.
     9/17/72              # Обычная запись в США.
     24 September 1972
     24 Sept 72           # September имеет специальное сокращение.
     24 Sep 72            # Трехбуквенные сокращения также допускаются.
     Sep 24, 1972
     24-sep-72
     24sep72

Год может быть опущен. В этом случае, используется последний указанный год, если такого нет -- текущий. Например:

     9/17
     sep 17

Здесь приведены правила.

Если месяц указан числом, допустим формат ISO 8601 `ГОД-МЕСЯЦ-ДЕНЬ', где ГОД -- это любое положительное число, МЕСЯЦ -- число между 01 и 12, ДЕНЬ -- число от 01 до 31. Лидирующий нуль должен быть указан, если число меньше 10. Если ГОД меньше 100, то 1900 добавляется к нему, для образования даты в XX веке. Конструкция `МЕСЯЦ/ДЕНЬ/ГОД', популярная в США допустима. Также `МЕСЯЦ/ДЕНЬ', опуская год.

Названия месяцев могут быть указаны полностью: `January', `February', `March', `April', `May', `June', `July', `August', `September', `October', `November' or `December'. Названия месяцев могут быть сокращены до первых трех символов, возможно заканчивающихся точкой. Также можно писать `Sept' вместо `September'.

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

     ДЕНЬ МЕСЯЦ ГОД
     ДЕНЬ МЕСЯЦ
     МЕСЯЦ ДЕНЬ ГОД
     ДЕНЬ-МЕСЯЦ-ГОД

Или, опуская год:

     МЕСЯЦ ДЕНЬ

Время суток

"Время суток" в строках даты указывает время в данный день. Вот несколько примеров, представляющие одно и то же время:

     20:02:0
     20:02
     8:02pm
     20:02-0500      # В EST (Стандартное восточное время в США).

В общем случае время суток задается в виде `ЧАС:МИНУТЫ:СЕКУНДЫ', где ЧАС -- эточисло между 0 и 23, МИНУТЫ -- число между 0 и 59, СЕКУНДЫ -- число между 0 и 59. `:СЕУКНДЫ' могут быть опущены, в этом случае они считаются равными нулю.

Если после времени указывается `am' или `pm' (или `a.m.' или `p.m.') ЧАС долен быть от 1 до 12, `:МИНУТЫ' можно опустить (считаются равными нулю). `am' указывает на первую половину дня, `pm' -- на вторую. В такой записи 12 предшествует 1: полночь это `12am', полдень -- `12pm'.

После времени может быть указан часовой пояс в виде `ЗЧЧММ', где З -- `+' или `-', ЧЧ -- количество часов в поясе, ММ -- количество минут в поясе. Когда часовой пояс задан таким образом, время интерпретируется относительно Coordinated Universal Time (UTC), перекрывая любые предыдущие спецификации часового пояса или местный частовой пояс. МИНУТЫ во времени суток не могут быть опущены, если указан часовой пояс. Это единственный способ указать часовой пояс используя дробные части часа.

Или `am'/`pm' или часовой пляс могут быть указаны, но не оба.

Часовой пояс

"Часовой пояс" определяет международный часовой пояс, указываемый небоьшим количеством букв. Они поддерживаются для обратной совместимости и не рекомендуются, потому что они неодносзначны на практике: сокращение `EST' имеет разное значение в США и Австралии. Точки игнорируются. В настоящее время только целые часы в поясах огут быть представлены в "часовом поясе". См. предыдущий раздел для лучшего управления часовыми поясами.

Здесь приведены не сберегащие дневное время часовые пояса, индексированные по поясному часу

`-1200'
`Y' для военных.
`-1100'
`X' для военных.
`-1000'
`W' для военных.
`-0900'
`V' для военных.
`-0800'
`PST' для стандартного тихоокеанского, и `U' для военных.
`-0700'
`MST' для стандартного горного, and `T' для военных.
`-0600'
`CST' для стандартного центрального, and `S' для военных.
`-0500'
`EST' для стандартного восточного, and `R' для военных.
`-0400'
`AST' для стандартного атлантического, and `Q' для военных.
`-0300'
`P' для военных.
`-0200'
`O' для военных.
`-0100'
`N' для военных.
`+0000'
`GMT' для Гривича, `UT' для универсального, `UTC' для Coordinated Universal, `WET' для восточно-европейского, and `Z' для ISO 8601 и военных.
`+0100'
`A' для военных, `CET' для центрально-европейского, `MET' для Голландии, и `MEZ' для Германии.
`+0200'
`B' для военных, и `EET' для восточно-европейского.
`+0300'
`C' для военных.
`+0400'
`D' для военных.
`+0500'
`E' для военных.
`+0600'
`F' для военных.
`+0700'
`G' для военных.
`+0800'
`H' для военных.
`+0900'
`I' для военных, и `JST' для стандартного японского.
`+1000'
`GST' for Guam Standard, and `K' для военных.
`+1100'
`L' для военных.
`+1200'
`M' для военных, and `NZST' для стандарного ново-зеландского.

Здесь приведены сберегающие дневное время часовые пояса, индексированные по поясному часу. Также окончивая не сберегающие дневное время часовые пояса строкой `DST' отдельным словом (отделенным пробелом), соответсвующий сберегающий дневное время часовой пояс может быть указан.

`-0700'
`PDT' для тихоокеанского дневного.
`-0600'
`MDT' для горного дневного.
`-0500'
`CDT' для центрального дневного.
`-0400'
`EDT' для восточного дневного.
`-0300'
`ADT' для атлантического дневного.
`+0100'
`BST' для британского летнего, и `WEST' западно-европейского летнего.
`+0200'
`CEST' для центрально-европейского летнего, `MEST' для Голландии, и `MESZ' для Германии.
`+1300'
`NZDT' для ново-зеландского дневного.

День недели

Явное указание дня недели увеличавает дату (только в случае необходимости) для достижения того дня недели в будущем.

Дни недели могут быть написаны полностью: `Sunday', `Monday', `Tuesday', `Wednesday', `Thursday', `Friday' or `Saturday'. Дни могут быть сокращены до первых трех букв, возможно заканичаващихся точкой. Специальные сокращения `Tues' для `Tuesday', `Wednes' для `Wednesday' и `Thur' или `Thurs' для `Thursday' также допустимы.

Число может предшествовать дню недели для сдвига вперед дополнительных недель. Лучше всего это использовать в выражениях вида `third monday'. В этом контексте `last ДЕНЬ' или `next ДЕНЬ' также допустимы; они сдигают на неделю вперед или назад день, представляемый ДНЕМ.

Запятая, следующая за днем недели, игнорируется

Относительные элементы в строке даты

"Относительные элементы" устанавливают дату (или текущюу дату) вперед или назад. Эффект относительных пукнктов накпиливается. Вот несколько примеров.

     1 year
     1 year ago
     3 years
     2 days

Единица изменения времени может быть выбрана строкой `year' или `month' для изменения на целы годы или месяцы. Это не точные единицы, т.к. не все месяцы и годы имеют одинаковую продолжительность. Более точные единицы это: `fortnight', которая значаит 14 дней, `week' --- 7 дней, `day' -- 24 часа, `hour' -- 60 минут, `minute' или `min' --- 60 секунд и `second' или `sec' -- 1 секунда. Суффикс `s' для этих единииц допустим и игнорируется.

Единица времени может быть предворена множителем, данным как возможно число со знаком. Беззнаковые числа считатются положительными. Отсутсвие числа применяет 1 как множитель. Указывая за относительным пунктам слово `ago' эквивалентно предварению единицы множителем -1.

Строка `tomorrow' значит один день в будущее, завтра, (эквивалентно `day'), строка `yesterday' -- один день в прошлое, вчера, (эквивалентно `day ago').

Строки `now' или `today' -- это относительные пункты, указывающие нулевое смещение даты, эти строки исходят из факта, что нулевое смещение представляет собой текущее время, если предыдущие пункты его не изменили. Они могут использоваться для выделить другие пункты, как, например, в `12:00 today'. Строка `this' также иммет смысл нудевого смещения времени, но предподчительно в строках даты как `this thursday'.

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

Непосредственные числа в строках данных

Точная интерпретация непосредственного десятичного числа заисит от контекста в строке даты.

Если десятичное число имеет вид ГГГГММДД и никаких элементов календарной даты (section Календарная дата перед ним нет в этой строке даты, то ГГГГ означает год, ММ -- месяц, а ДД -- день месяца.

Если десятичное число имеет вид ЧЧММ и никаких элементов времени суток перед ним нет в этой строке даты, то ЧЧ означает час суток, а ММ -- минуты часа. ММ может быть опущено.

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

Авторы `getdate'

`getdate' был первоначально реализован Стивеном М. Белловином (smb@research.att.com) в Университете Северной Каролины. Код был позже подправлен парой людей из Usenet, затем полностью переработан Ричем Сальцем (rsalz@bbn.com) и Джимом Беретсом (jberets@bbn.com) в августе 1990. Различные ревизии для системы GNU были сделаны Дэвидом МакКензи, Джимом Мейерингом и др.

Эта глава первоначально была создана Franc,ois Pinard (Френсисом Пинардом, наверное, если кому известно как его имя читается по-русски напишите) (pinard@iro.umontreal.ca) из исходных текстов `getdate.y', а затем подкорректирована К. Берри (kb@cs.umb.edu).

Печать текста

Этот раздел описывает команды, печатающие текстовые строки.

`echo': Печать строки текста

`echo' пишет каждую данную СТРОКУ на стандартный вывод, с пробелом меджу каждой и переводом строки в конце. Синтаксис:

     echo [ПАРАМЕТР]... [СТРОКА]...

Программа принимает следующие параметры. См. также section Общие параметры.

`-n'
Не печатать завершающий перевод строки.
`-e'
Включить интерпретацию следующих эскейп-последовательностей в каждой СТРОКе:
`\a'
звонок
`\b'
шаг назад
`\c'
подавить завершающий перевод строки
`\f'
перевод страницы
`\n'
новая строка
`\r'
возврат катетки
`\t'
горизонтальная табуляция
`\v'
вертикальная табуляция
`\\'
обратный слэш
`\ЦЦЦ'
символ с ASCII кодом ЦЦЦ (восмеричный); если ЦЦЦ не является опустимы восмиричным числом, оно печатается символьно.

`printf': Форматированная печать текста

`printf' выполняет форматированную печать текста. Синтаксис:

     printf ФОРМАТ [АРГУМЕНТ]...

`printf' печатает строку ФОРМАТ, интерпретирую `%'-директивы и `\'эскейп последовательности также как это деалет функция `printf' в C. Аргумент ФОРМАТ при необходимисти заново используется для преобразования всех переданных АРГУМЕНТов.

`printf' имеет одну дополнительную директиву, `%b', которая печатает строки-аргументы с `\' эскейп последовательностями, интерпретируемыми так же как в строке ФОРМАТ.

`printf' интерпретирует `\0ввв' в строке ФОРМАТ как восмиричное число (если ввв -- это от 0 до 3 восьмиричных цифр) укзывающее код символа и `\xшшш' -- как шеснадцатеричное число (если шшш -- это от 0 до 3 шеснадцатеричных цифр) указывающее код символа.

Дополнительная эскейп последовательность `\c' указывает `printf' не выводить более ничего.

Параметрами являются `--help' и `--version'. См. section Общие параметры

`yes': Печатать строку до прерывания

`yes' печатает аргументы командной строки, разделенные пробелами и завершаемые переводом строки, бесконечно пока не будет прервана. Если нет аргументов она печатает `y' с переводом строки бесконечно пока не будеь прервана.

Параметрами являются `--help' и `--version'. См. section Общие параметры

Условия

Эта глава описывает команды, которые преимущественно полезны из-за их кода возврата, чем их вывода. Т.о., они часто используются как условия в выражениях `if', или как последная команда в канале.

`false': Ничего не делать, неуспешно

`false' ничего не делает за исключением того, что возвращает значение 1, означающий "ошибка". Она может использоваться для занимания места в скриптах, где необходима неуспешная команда. `false' игнорирует все аргументы коммандной строки, даже `--help' и `--version', т.к. в противном случае изметится ожидаемое поведение, на которое некоторые программисты расчитывают.

Эта версия `false' реализована на C и поэтому более защищена и быстра, чем скрипт, и может безопасно использоваться как фиктивный командный интерпретарор для выключенных профилей пользователей.

`true': Ничего не делать, успешно

`true' ничего не делает кроме как возращает значение 0, означающее "успех". Она может использоваться для занимания места в скриптах, где необходима неуспешная команда, но встроенная команда `:' (двоеточие) делает то же быстрее.

`true' игнорирует все аргументы коммандной строки, даже `--help' и `--version', т.к. в противном случае изметится ожидаемое поведение, на которое некоторые программисты расчитывают.

Эта версия `true' реализована на C и поэтому более защищена и быстра, чем скрипт, и может безопасно использоваться как фиктивный командный интерпретарор для выключенных профилей пользователей.

`test': Проверяет типы файлов и сравнивает значения

`test' возвращает значение 0 (истина) или 1 (ложь) в зависимости от вполнения условного выражение ВЫРАЖ. Каждая часть выражения должна быть отдельным аргументом.

`test' может выполнять проверки состояния файлов, строковые операции и операции сравнения чисел.

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

Кроме параметров описанных ниже, `test' понимает взятые в отдельности `--help' или `--version'. section Общие параметры. Единственный не параметрический аргумент также допустим: `test' возвращает истину, если аргумент не пустой.

Проверка типов файлов

Эти параметры проверяют отдельные типы файлов. (Все является файлом, но не все файлы одинаковы!)

`-b ФАЙЛ'
Истинно, если ФАЙЛ существует и является специальным болчным устройством. x@item -c ФАЙЛ Истинно, если ФАЙЛ существует и является специальным символьным устройством.
`-d ФАЙЛ'
Истинно, если ФАЙЛ существует и является каталогом.
`-f ФАЙЛ'
Истинно, если ФАЙЛ вуществует и является простым файлом.
`-h ФАЙЛ'
`-L ФАЙЛ'
Истинно, если ФАЙЛ существует и является символической ссылкой.
`-p ФАЙЛ'
Истинно, если ФАЙЛ существует и является именованным каналом.
`-S ФАЙЛ'
Истинно, если ФАЙЛ существует и является сокетом.
`-t [ФД]'
Истинно, если ФД открыт на терминале. Если ФД опущен, он считается равным 1 (стандартный вывод).

Проверка прав доступа

Эти параметры проверяют отдельные правва доступа.

`-g ФАЙЛ'
Истинно, если ФАЙЛ существует и имеет включенный бит установки идентификатора группы.
`-k ФАЙЛ'
Истинно, если ФАЙЛ имеет установленный "липкий" бит.
`-r ФАЙЛ'
Истинно, если ФАЙЛ существует и он читаемый.
`-u ФАЙЛ'
Истинно, если ФАЙЛ существует и имеет включенный бит установки идентификатора пользователя.
`-w ФАЙЛ'
Истинно, если ФАЙЛ существует и доступен для записи.
`-x ФАЙЛ'
Истинно, если ФАЙЛ существует и является исполняемым.
`-O ФАЙЛ'
Истинно, если ФАЙЛ существует и принадлежит текущему эффективному идентификатору пользователя.
`-G ФАЙЛ'
Истинно, если ФАЙЛ существует и принадлежит текущему эффективному идентификатору группы.

Проверка файловых характеристик

Эти параметры проверяют другие файловые характеристики.

`-e ФАЙЛ'
Истинно, если файл существует.
`-s ФАЙЛ'
Истинно, если ФАЙЛ существует и его размер больше нуля.
`ФАЙЛ1 -nt ФАЙЛ2'
Истинно, если ФАЙЛ1 новее (согласно дате изменения) чем ФАЙЛ2.
`ФАЙЛ1 -ot ФАЙЛ2'
Истинно, если ФАЙЛ1 старее (согласно дате изменения) чем ФАЙЛ2.
`ФАЙЛ1 -ef ФАЙЛ2'
Истинно, если ФАЙЛ1 и ФАЙЛ2 имеют одинаковые номера устройств и i-узлов, т.е. являются жесткими ссылками друг на друга.

Строковые тесты

Эти параметры проверяют характеристики строк. Строки не закавычены для `test', хотя Вам может понадобиться закавычить их для защиты символов со специальным значением для командной оболочки, например, пробелов.

`-z СТРОКА'
Истинно, если длина СТРОКИ равна нулю.
`-n СТРОКА'
`СТРОКА'
Истинно, если длина СТРОКИ не равна нулю.
`СТРОКА1 = СТРОКА2'
Истинно, если строки равны.
`СТРОКА1 != СТРОКА2'
Истинно, если строки не равны.

Численные тесты

Сравнения чисел. Аргументы дожны быть полностью числовыми (возможно отрицательными), или специальным выражением `-l СТРОКА', которая определяет длину СТРОКИ.

`АРГ1 -eq АРГ2'
`АРГ1 -ne АРГ2'
`АРГ1 -lt АРГ2'
`АРГ1 -le АРГ2'
`АРГ1 -gt АРГ2'
`АРГ1 -ge АРГ2'
Эти двоичные арифметические операторы возращают истину, если АРГ1 равен, не равен, меньше, меньше или равен, больше, больще или равен чем АРГ2, соответсвенно.

Например:

     test -1 -gt -2 && echo yes
     => yes
     test -l abc -gt 1 && echo yes
     => yes
     test 0x100 -eq 1
     error--> test: ожидалось целочисленное выражение перед -eq

Связки для `test'

Обычные логические связки.

`! ВЫРАЖ'
Истинно, если ВЫРАЖ ложно.
`ВЫРАЖ1 -a ВЫРАЖ2'
Истинно, если оба ВЫРАЖ1 и ВЫРАЖ2 истинны.
`ВЫРАЖ1 -o ВЫРАЖ2'
Истинно, если ВЫРАЖ1 или ВЫРАЖ2 истинны.

`expr': Вычисление выражений

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

Операнды могут быть числами или строками. `expr' преобразует все, что находится в позиции операнда, к целому числу или строке в зависимости от применяемой операции.

Строки не закавычены для `test', хотя Вам может понадобиться закавычить их для защиты символов со специальным значением для командной оболочки, например, пробелов.

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

Возвращаемое значение:

`0'
Если выражение не пустое и не нуль
`1'
Если выражение пустое или нуль
`2'
Неверное выражение

Строковые выражения

`expr' подерживает проверку по шаблону и другие строковые операторы. Они имеют более низкий приоритет чем арифметические операторы и операторы отношения.

`СТРОКА : РЕГВЫР'
Выполнить проверку по шаблону. Аргументы преобразуются в строки и второй считается (простым, как в GNU `grep') регулярным выражением, с неявно предваренным `^'. Первый аргумент проверяется на это регулярное выражение. Если проверка прошла успешно и РЕГВЫР содержит `\(' and `\)', выражение `:' возвращает часть СТРОКИ, которая соответсвует подвыражению; в противном случае оно возвращает числа соответствующих символов. Иесли проверка оказалась неуспешной, выражение `:' возвращает пустую строку, если РЕГВЫР содержит `\(' and `\)', иначе 0. Только первая пара `\( ... \)' используется в возвращаемом значении; дополнительные пары имеют смысл только для группировки операторов регулярных выражений. В регулярном выражении `\+', `\?', и `\|' являются операторами, которые соответствуют соврадению один или более, нуль или более, нуль или один раз, или разделяет альтернативы. SunOS `expr'ы трактуют их как регулярные символы. (POSIX допускает иное поведение.)
`match СТРОКА РЕГВЫР'
Альтернативный способ поверки по шаблону. Это тоже самое, что и `СТРОКА : РЕГВЫР'.
`substr СТРОКА ПОЗИЦИЯ ДЛИНА'
Возвращает подстроку СТРОКи начинающуюся в ПОЗИЦИИ с максимальной длмной ДЛИНА. Если ПОЗИЦИЯ или ДЛИНА отрицательны, равны нулю, или не числа, возвращается пустая строка.
`index СТРОКА НАБОР-СИМВОЛОВ'
Возвращает первую позицию в троке, где первый символ из НАБОРа-СИМВОЛОВ найден. Если символы из НАБОРа-СИМВОЛОВ не найдены в СТРОКе, возврашается 0.
`length СТРОКА'
Возвращает длину СТРОКи
`quote ЛЕКСЕМА'
Интерпретировать ЛЕКСЕМу как строку, даже если это ключевое слово как MATCH или оператор как `/'. Это делает возможным проверять `expr length quote "$x"' или `expr quote "$x" : '.*/\(.\)" и заставлять `expr' делать то, что нужно, даже если значение $x, например, `/' или `index'. Этот опрератор является расширением GNU. Он отключен, если переменная окружения `POSIXLY_CORRECT' установлена.

Чтобы заставить `expr' интерпретировать ключевые слова как строки, Вы должны использовать оператор `quote'.

Арифметические выражения

`expr' поддерживает обычные арифметические операторы, в порядке возрастания приоритета. Строковые операторы имеют более низкий приоритет, связки более высокий.

`+ -'
Сложение и вычитание. Оба аргумента преобразуются в числа; ошибка выдается если это невозможно.
`* / %'
Умножение, деление, остаток от деления. Оба аргумента преобразуются в числа; ошибка выдается если это невозможно.

Свзяки для `expr'

`expr' поддерживает обычные логические связки и отношение. Они имеют более высокий приоритет, чем строковые или арифметические операторы. Вот список в порядке возрастания приоритета.

`|'
Возвращает первый аргумент, если он не пустой и не 0, в противном случае второй аргумент.
`&'
Возвращает свой первый аргумент, если он не пустой или 0, иначе 0.
`< <= = == != >= >'
Сравнивает аргументы и возвращает 1 если отношение верно, 0 в противном случае. `==' это синоним для `='. `expr' сначала пытает преобразовать оба аргумента в числа и использовать численное сравнение, если это не удается сделать, используется лексическое сравнение.

Примеры использования `expr'

Вот несколько примеров использования кавычек для метасимволов командных оболочек.

Чтобы сложить 1 и переменную оболочки `foo' в оболочках совместимых с Борновыми:

     foo='expr $foo + 1'

Чтобы напечатать имя файла, хранимого в `$fname', без пути, который может не содержать `/':

     expr $fname : '.*/\(^.*\)' '^|' $fname

Пример, показывающий, что `\+' это оператор:

     expr aaa : 'a\+'
     => 3

     expr abc : 'a\(.\)c'
     => b
     expr index abcdef cz
     => 3
     expr index index a
     error--> expr: syntax error
     expr index quote index a
     => 0

Перенаправление

Командные оболочки в Unix обеспечивают несколько видов "перенаправления" -- способов изменить входной источник и выходной приемник команды. Но одно полезное перенаправление реализуется отдельной программой, не командной оболочкой; она здесь описана.

`tee': Перенаправить вывод на несколько файлов

Команда `tee' копирует стандартный ввод на стандартный вывод и также в любые файлы, переданные как аргументы. Это полезно когда Вы хотите не только послать данные по каналу, но и сохранить копию. Синтаксис:

     tee [ПАРАМЕТР]... [ФАЙЛ]...

Если выходной файл не существует, то он создается. Если выходной файл существует, данные сранящиеся в нем переписываются, если не указан параметр `-a'.

Программа понимает следующие параметры. См. также section Общие параметры

`-a'
`--append'
Дописать стандартный ввод в данные файлы, вместо их переписывания.
`-i'
`--ignore-interrupts'
Игнорировать сгналы прерывания.

Манипулирование именами файлов

Эта глава описывает команды, манипулирующие именами файлов.

`basename': Отрезать путь и суффикс от имени файла.

`basename' удаляет любые предшествующие компоненты каталогов из ИМЕНИ. Синтаксис:

     basename ИМЯ [СУФФИКС]

Если СУФФИКС указан и совпадает с окончанием ИМЕНИ, то он также удаляется. `basename' печатает результат на стандартный вывод.

Параметрами являются `--help' и `--version'. См. section Общие параметры

`dirname': Удалить суффикс, не являющийся каталогом.

`dirname' печатает все кроме последнего отделенного слэшем компонента строки (предположительно имя файла). Синтаксис:

     dirname ИМЯ

Если ИМЯ это одна компонента, `dirname' печатает `.' (означающую текущий каталог)

Параметрами являются `--help' и `--version'. См. section Общие параметры

`pathchk': Проверить портируемость имени файла

`pathchk' проверяет переносимость имен файлов. Синтаксис:

     pathchk [ПАРАМЕТР]... ИМЯ...

Для каждого ИМЕНИ `pathchk' печатает сообщение если одно из этих условий верно.

  1. один из существующих каталогов в ИМЕНИ не имеет разрешения на поиск (выполнение),
  2. длина ИМЕНИ превышает максимальное значение, допустимое в файловой системе,
  3. длина одного из компонентов ИМЕНИ, соответсвующего существующему имени каталога, превышает максимальное значение, допустимое в файловой системе для компонентов имени файла.

Программа пронимает следующие параметры. См. также section Общие параметры

`-p'
`--portability'
Вместо выполнения проверок длин на текущей файловой, проверить длину каждого имени файла и их компонентов на соответсвие стандарту POSIX.1 на переносимость. Также проверить, содержаться ли в имени файла символы не из переносимого набора символов.

Возвращаемое значение:

Рабочий контекст

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

`pwd': Печать текущего каталога

`pwd' печатает полное развернутое имя текущего каталога. Т.е. все компоненты напечатанного имени будут реальными именами каталогов, а не символических связей.

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

Параметрами являются `--help' и `--version'. См. section Общие параметры

`stty': Печать или изменение характеристик терминала

`stty' печатает или изменяет характеристики терминала, такие как скорость. Синтаксис:

     stty [ПАРАМЕТР] [УСТАНОВКА]...
     stty [ПАРМЕТР]

Если параметры не даны, `stty' печатает уровень бодов, номер порядка линии (на системах, которые его поддерживают), и установки линии, отличающиеся от значений, установленных `stty sane'. По умолчанию, режим чтения и установки выполняется на линии tty, присоедененной к стандартному вводу, этя она может быть изменена параметром `--file'

`stty' понимает много непараметрических аргументов, которые изменяют аспекты функционирования терминальной линии, как описано ниже.

Программа понимает следующие параметры. См. также section Общие параметры.

`-a'
`--all'
Напечатать все текущие установки в читаемом для людей виде. Этот параметр не может быть использован в сочетании с любыми установками линии.
`-F УСТРОЙСТВО'
`--file УСТРОЙСТВО'
Установиь линию, открытую именем файла, указанного в УСТРОЙСТВЕ, вместо линии tty, присоединенной к стандартному вводу. Этот параметр необходим потому, что при открытии POSIX tty требуется использование флага `O_NONDELAY' для предотвращения блокирования POSIX tty, до тех пор пока несущая обнаруживающая линия высока, если флаг `clocal' не установлен. Следовательно, не всегда возможно позволить оболочке открывать устройство традиционным способом.
`-g'
`--save'
Напесатать все текущие установки в виде, позволяющем их использование в качестве аргумента для другого вызова команды `stty' для восстановления текущих настроек. Этот параметр не может быть использован в сочетании с любыми установками линии.

Много установок могут быть выключены указанием `-' перед ними. Такие аргуенты отмечены ниже с "Может отрицаться" в их описании. Сами описания относятся к влюченному, не выключенному, состоянию (конечно, если обратоное не указано).

Некоторые установки не доступны на некоторых POSIX системах, поскольку они используют расширения. Такие аргументы отмечены ниже с "не-POSIX" в их описании. На не-POSIX системах эти или другие установки также могут быть недоступны, но невозможно документировать все вариации: просто попытайтесь и Вы увидите.

Управляющие установки

Управляющие установки:

`parenb'
Генерировать бит паритета в выводе и предполагать бит паритета во вводе. Может отрицаться.
`parodd'
Установить нечетный паритет (даже если отрицается). Может отрицаться.
`cs5'
`cs6'
`cs7'
`cs8'
Установить размер символа в 5, 6, 7 или 8 бит.
`hup'
`hupcl'
Послать сигнал отключения, когда последний процесс закроет tty. Может отрицаться.
`cstopb'
Использовать два бита остановки на символ (один если отрицается). Может отрицаться.
`cread'
Разрешить получение ввода. Может отрицаться.
`clocal'
Отключить сигналы управления модема. Может отрицаться.
`crtscts'
Включить котроль потока RTS/CTS. Не-POSIX. Может отрицаться.

Установки ввода

`ignbrk'
Игнорировать символы разрыва. Может отрицаться.
`brkint'
Пусть разрывы вызывают сигнал прерывания. Может отрицаться.
`ignpar'
Игнорировать символы с ошибками паритета. Может отрицаться.
`parmrk'
Отмечать все ошибки паритета (255-0-символьной последовательностью). Может отрицаться.
`inpck'
Включить проверку паритета ввода. Может отрицаться.
`istrip'
Сбросить старший (8ой) бит вводимых символов. Может отрицаться.
`inlcr'
Транслировать новую строку в перевод каретки. Может отрицаться.
`igncr'
Игнорировать перевод каретки. Может отрицаться.
`icrnl'
Транслировать перевод каретки в новую строку. Может отрицаться.
`ixon'
Включить контроль потока XON/XOFF (т.е. `CTRL-S'/`CTRL-Q'). Может отрицаться.
`ixoff'
`tandem'
Включить посылку символа `stop' при заполнении системного буфера ввода, и символа `start', когда он опустеет. Может отрицаться.
`iuclc'
Транслировать прописные буквы в строчные. Не-POSIX. Может отрицаться.
`ixany'
Разрешить перезапуск вывода для любого символа (только начальный символ, если отключено). Не-POSIX. Может отрицаться.
`imaxbel'
Включить выдачу звукового сигнала и несбрасывание буфера ввода, если символ приходит, когда буфер ввода полон. Не-POSIX. Может отрицаться.

Установки вывода

Эти аргументы определяют операции, относящиеся к выводу.

`opost'
Вывод после обработки. Может отрицаться.
`olcuc'
Транслировать строчные буквы в прописные. Не-POSIX. Может отрицаться.
`ocrnl'
Транслировать перевод каретки в новую строку. Не-POSIX. Может отрицаться.
`onlcr'
Транслировать новую строку в перевод каретки. Не-POSIX. Может отрицаться.
`onocr'
Не печатать перевод каретки в первой колонке. Не-POSIX. Может отрицаться.
`onlret'
Новая строка выполняет перевод каретки. Не-POSIX. Может отрицаться.
`ofill'
Использовать заполнение (набивку) символами вместо счета задержек. Не-POSIX. Может отрицаться.
`ofdel'
Использовать сиволы удаления для заполнения вместо нулевых символов. Не-POSIX. Может отрицаться.
`nl1'
`nl0'
Стиль задержки новой строки. Не-POSIX.
`cr3'
`cr2'
`cr1'
`cr0'
Стиль задержки возврата каретки. Не-POSIX.
`tab3'
`tab2'
`tab1'
`tab0'
Стиль задержки горизонтальной табуляции. Не-POSIX.
`bs1'
`bs0'
Стиль задержки шага назад. Не-POSIX.
`vt1'
`vt0'
Стиль задержки вертикальной табуляции. Не-POSIX.
`ff1'
`ff0'
Стиль задержки перевода страницы. Не-POSIX.

Локальные установки

`isig'
Включить специальные символы `interrupt', `quit', и `suspend'. Может отрицаться.
`icanon'
Включить специальные символы `erase', `kill', `werase', и `rprnt'. Может отрицаться.
`iexten'
Включить не-POSIXовые специальные символы. Может отрицаться.
`echo'
Выводить вводимые символы (эхо). Может отрицаться.
`echoe'
`crterase'
Выводить символы `erase' как шаг_назад-пробел-шаг_назад. Может отрицаться.
`echok'
Выводить новую строку после символа `kill'. Может отрицаться.
`echonl'
Выводить новую строку, даже ексли не выводятся никакие другие символы. Может отрицаться.
`noflsh'
Отключить сброс после специальных символов `interrupt' и `quit'. Может отрицаться.
`xcase'
Включить ввод и вывод прописных символов, предваряя их строчными эквивалентами с `\', когда `icanon' установлена. Не-POSIX. Может отрицаться.
`tostop'
Остановить фоновые задачи, пытающиеся писать на терминал. Не-POSIX. Может отрицаться.
`echoprt'
`prterase'
Выводить удаленные символы в обраном порядке, между `\' и `/'. Не-POSIX. Может отрицаться.
`echoctl'
`ctlecho'
Выводить управляющие символы в шапочной нотации (`^C') вместо символьной. Не-POSIX. Может отрицаться.
`echoke'
`crtkill'
Выводить специальный символ `kill', удаляя каждый символ в строке как определено установками `echoprt' и `echoe', вместо установок `echoctl' и `echok'. Не-POSIX. Может отрицаться.

Коминирующие установки

Коминирующие установки:

`evenp'
`parity'
Тоже, что и `parenb -parodd cs7'. Может отрицаться. Если отрицается --- то же, что и `-parenb cs8'.
`oddp'
То же, что и `parenb parodd cs7'. Может отрицаться. Если отрицается --- то же, что и `-parenb cs8'.
`nl'
То же, что `-icrnl -onlcr'. Может отрицаться. Если отрицается --- то же, что и `icrnl -inlcr -igncr onlcr -ocrnl -onlret'.
`ek'
Восстановить значения по умолчанию для специальных символов `erase' и `kill'.
`sane'
То же, что и:
          cread -ignbrk brkint -inlcr -igncr icrnl -ixoff -iuclc -ixany
          imaxbel opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel
          nl0 cr0 tab0 bs0 vt0 ff0 isig icanon iexten echo echoe echok -echonl
          -noflsh -xcase -tostop -echoprt echoctl echoke
а также устанавливает значения по умолчанию всем специальным символам.
`cooked'
То же, что и `brkint ignpar istrip icrnl ixon opost isig icanon', плюс установка значений по умоллчанию символам `eof' и `eol', если они совпадают с символами `min' и ёtime'. Может отрицаться. Если отрицается то же, что и `raw'.
`raw'
То же, что и
          -ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr
          -icrnl -ixon -ixoff -iuclc -ixany -imaxbel -opost -isig -icanon
          -xcase min 1 time 0
Может отрицаться. Если отрицается, то же, что и `cooked'.
`cbreak'
То же, что и `-icanon'. Может отрицаться. Если отрицается, то же, что и `icanon'.
`pass8'
То же, что и `-parenb -istrip cs8'. Может отрицаться. Если отрицается, то же, что и `parenb istrip cs7'.
`litout'
То же, что и `-parenb -istrip -opost cs8'. Может отрицаться. Если отрицается, то же, что и `parenb istrip opost cs7'.
`decctlq'
То же, что и `-ixany'. Не-POSIX. Может отрицаться.
`tabs'
То же, что и `tab0'. Не-POSIX. Может отрицатся. Если отрицается, то же, что и `tab3'.
`lcase'
`LCASE'
То же, что и `xcase iuclc olcuc'. Не-POSIX. Может отрицаться.
`crt'
То же, что и `echoe echoctl echoke'.
`dec'
То же, что и `echoe echoctl echoke -ixany intr ^C erase ^? kill C-u'.

Специальные символы

Значения по умолчанию специальных символов варьируется от системы к системе. Они могут быть заданы синтаксисом `имя значение', имена приведены в списке ниже, а значения могут задаваться символьно, в шапочной нотации или цклым числом, которое может начинаться с `0x', для шестнадцатеричных чисел, `0' для восьмиричных, или любой другой цифры для десятичных.

Для GNU stty значение `^-' или `undef' отключает специальный символ. (Это несовместимо с Ultrix `stty', которая использует значение `u' для отключения специального символа. GNU `stty' трактует значение `u' как любое другое, т.е. устанавливает значение специального символа в <U>.)

`intr'
Послать сигнал прерывания.
`quit'
Послать сигнал выхода.
`erase'
Удалить последний введенный символ.
`kill'
Удалить текущую строку.
`eof'
Послать конец файла (завершить ввод).
`eol'
Конец строки.
`eol2'
Альтернативный символ конца строки. Не-POSIX.
`swtch'
Переключиться на другой уровень оболочки. Не-POSIX.
`start'
Перезапустить вывод после его остановки.
`stop'
Остановить вывод.
`susp'
Послать сигнал остановки терминала.
`dsusp'
Послать сигнал остановки терминала после сброса ввода. Не-POSIX.
`rprnt'
Перерисовать текущую строку. Не-POSIX.
`werase'
Удалить последнее введенное слово. Не-POSIX.
`lnext'
Ввести следующий символ, набранный символьно, даже если это специальный символ.

Специальные установки

`min N'
Установить минимально число символов, которые будут удовлетворять чтение, пока не выйдет время, если `-icanon' установдена.
`time N'
Установить число десятых долей секунды до того как выйдет время чтения, если минимальное число символов не прочитаны, если `-icanon' установдена.
`ispeed N'
Установить скорость ввода в N.
`ospeed N'
Установить скорость вывода в N.
`rows N'
Сказать tty-драйверу ядра, что терминал имеет N строк. Не-POSIX.
`cols N'
`columns N'
Сказать ядрау, что терминал имеет N столбцов. Не-POSIX.
`size'
Напечатать число строк и столбцов, которые имеет терминал, по мнению ядра. (Системы, не поддреживающие строки и столбцы в ядре обычно используют перемнные окружения `LINES' и `COLUMNS'; однако, GNU `stty' ничего о них не знает.) Не-POSIX.
`line N'
Использовать дисциплину линии N. Не-POSIX.
`speed'
Напечатать скорость терминала.
`N'
Установить скорость ввода и вывода в N. N может быть одним из: 0 50 75 110 134 134.5 150 200 300 600 1200 1800 2400 4800 9600 19200 38400 exta' `extb'. `exta' это то же, что и 19200; `extb' -- 38400. 0 разрывает линию если `-clocal' установлена.

`printenv': Вывод всех или некоторых переменных среды

`printenv' печатает значения переменных окружения. Синтаксис:

     printenv [ПАРАМЕТР] [ПЕРЕМЕННАЯ]...

Если ПЕРЕМЕННЫЕ не указаны, `printenv' печатает значения всех перменных окружения. Иначе, она печатает значения для каждой ПЕРЕМЕННОЙ, которая установлена, и ничего для тех которые не установлены.

Параметрами являются отдельно взятые `--help' и `--version' См. section Общие параметры.

Возвращаемое значение:

`tty': Вывести имя файла терминала на стандартный вывод

`tty' печатает имя файла терминала присоединенного к стандарному вводу. Она выдает `not a tty' если стандартный ввод не является терминалом. Синтаксис:

     tty [ПАРАМЕТР]...

Программа понимает следующие параметры. См. также section Общие параметры

`-s'
`--silent'
`--quiet'
Ничего не печатать; просто вернуть значение.

Возвращаемое значение:

Информация о пользователе

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

`id': Вывести действительные и эффективный uid и gid

`id' печатает информация о указанном пользователе или работающем, если пользователь не указан. Синтаксис:

     id [ПАРАМЕТР]... [ИМЯ-ПОЛЬЗОВАТЕЛЯ]

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

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

Параметры указывают `id' печатать только часть этой информации. См. также section Общие параметры.

`-g'
`--group'
Печатать только идентификатор группы.
`-G'
`--groups'
Печатать только дополнительные группы.
`-n'
`--name'
Печатать имя пользователя или группы вместо идентификатора. Требует `-u', `-g', or `-G'.
`-r'
`--real'
Печатать действительный, вместо эффективного, идентификатор пользователя или группы. Требует `-u', `-g', or `-G'.
`-u'
`--user'
Печатать только идентификатор пользователя.

`logname': Печатать текущий логин

`logname' печатает имя пользователя, указанное в файле `/var/run/utmp', и возвращает значение 0. Если в `/var/run/utmp' нет записи для вызывающего процесса, `logname' печатает сообщение об ошибке и возвращает значение 1.

Параметрами являются `--help' и `--version'. См. section Общие параметры.

`whoami': Вывести эффективный идентификатор пользователя

`whoami' печатает имя пользователя, ассоциированное с текущим эффективным идентификатором пользователя. Это эквивалент команды `id -un'.

Параметрами являются `--help' и `--version'. См. section Общие параметры.

`groups': Вывести имена групп, которым принадлежит пользователь

`groups' печатает имена основной и дополнительных групп для каждого указанного ИМЕНИ-ПОЛЬЗОВАТЕЛЯ, или текущего процесса, если имена не даны. Если имена указаны, имя каждого пользователя печатается перед списком пользовательских групп. Синтаксис:

     groups [ИМЯ-ПОЛЬЗОВАТЕЛЯ]...

Списки групп эквивалентны выводу команды `id -Gn'.

Параметрами являются `--help' и `--version'. См. section Общие параметры.

`users': Вывести логины пользователей, работающих в системе

`users' печатает единственную строку разделенного пробелами списка пользователей, работающих в данной системе в данный момент времени. Каждое имя пользователя соответсвует сессии, т.о. если пользователь имеет более одной сессии, его имя появится соответсвующее число раз в выводе. Синтаксис:

     users [ФАЙЛ]

Без аргумента ФАЙЛ, `users' извлекает информацию из файла `/var/run/utmp'. Если файловый аргумент задан, `users' использует этот файл. Основной выбор это `/var/run/wtmp'.

Параметрами являются `--help' и `--version'. См. section Общие параметры.

`who': Напечатать, кто работает в системе

`who' печатает информацию и пользователях, работающих в данное время в системе. Синтаксис:

     `who' [ПАРАМЕТР] [ФАЙЛ] [am i]

Если аргументы не переданы, `who' печатает следующую информацию о работающих в системе пользователях: логин, линии терминала, время работы и имя удаленного хоста или X дисплея.

Если задан непараметрический аргумент, `who' использует его вместо `/var/run/utmp' в качестве имени файла, содержащего записи работающих в системе пользователей. `/var/run/utmp' в основном передается как аргумент для `who', чтобы посмотреть, кто ранее зашел в систему.

Если переданы два непараметрических аргумента, `who' печатет только запись для запустившего ее пользователя (определяется из стандартного ввода), предваренной именем хоста. Традиционно, два передаваемых аргумента это `am i', как в `who am i'.

Программа понимает следующие параметры. См. также section Общие параметры.

`-m'
То же самое, что и `who am i'.
`-q'
`--count'
Печатает только логины и количество пользователей, работающих в системе. Перекрывает все другие параметры.
`-s'
Игнорируется; для совместимости со старыми версиями `whi'.
`-i'
`-u'
`--idle'
После времени входа, вывести количество часов и минут, которые пользователь не был активен. `.' означает, что пользователь был активен последнюю минуту. `old' означает, что пользователь неактивен более 24 часов.
`-l'
`--lookup'
Попытаться канонизировать имена хостов, найденные в utmp, через поиск в DNS. Это не используется по умолчанию, поскольку может вызвать серьезные задержки в системе с автоматическим доступом к Internet.
`-H'
`--heading'
Вывести "шапку" заголовков столбцов.
`-w'
`-T'
`--mesg'
`--message'
`--writable'
После каждого логина вывести символ, показывающий статус сообщений пользователя:

Системный контекст

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

`date': Вывод или установка системной даты и времени

`date' без параметров печатает текущее время и дату, с формате директивы `%c' (описанной ниже). Синтаксис:

     date [ПАРАМЕТР]... [+ФОРМАТ]
     date [-u|--utc|--universal] [ MMDDHHMM[[CC]YY][.SS] ]

Если дан аргумент, начинающийся с `+', `date' печатает текущее время и дату (или время и дату указанные параметром `--date', см. ниже) в формате, определяемом этим аргументом, который такой же как в функции `strftime'. Исключая директивы, начинающиеся с `%', символы в строке формата печатаются без изменений. Диретивы описаны ниже.

Директивы времени

Директивы `date', относящиеся ко времени.

`%H'
часы (00...23)
`%I'
часы (01...12)
`%k'
часы (0...23)
`%l'
часы (1...12)
`%M'
минуты (00...59)
`%p'
местный AM или PM
`%r'
время, 12-часовое (чч:мм:сс [AP]M)
`%s'
секунды с начала эпохи, т.е. 1 января 1970 00:00:00 UTC (расширение GNU). Заметьте, что это значение -- число секунд между началом эпохи и текущей датой, определенной системным вызовом localtime. Оно не меняется параметром `--date'.
`%S'
секунды (00...61)
`%T'
время, 24-часовое (чч:мм:сс)
`%X'
местное представление времени (%Ч:%М:%С)
`%z'
числовой часовой пояс в стиле RFC-822 (т.е. -0600 или +0100), или ничего, если чясовой пояс неопределим. Это значение отражает текущий часовой пояс. Оно не изменяется параметром `--date'.
`%Z'
часовой пояс или ничего, если часовой пояс неопределим. Заметьте, что это значение отражает текущий часовой пояс. Оно не изменяется параметром `--date'.

Директивы даты

Директивы `date', относящиеся ко дате.

`%a'
местное сокращение для дня недели (Sun...Sat)
`%A'
местное полное название дня недели, переменная длина (Sunday...Saturday)
`%b'
местное сокращение для месяца (Jan...Dec)
`%B'
местое полное название месяца, переменная длина (January...December)
`%c'
местная дата и время (Sat Nov 04 12:02:33 EST 1989)
`%d'
день месяца (01...31)
`%D'
дата (мм/дд/гг)
`%h'
тоже самое, что и %b
`%j'
день года (001...366)
`%m'
месяц (01...12)
`%U'
номер недели в году, считая воскресенье первым днем недели, (00...53). Дни в году предшествующие первому воскресенью относятся к нулевой неделе.
`%V'
номер недели в году, считая воскресенье первым днем недели, (00...53). Если неделя содержащая 1 января имеет 4 или более дней в новом году, то она считается первой; иначе это 53 неделя прошлого года, следующая неделя считается первой. (См. стандарт ISO 8601: 1988.)
`%w'
день недели (0...6) с 0 соответветсвующим воскресенью
`%W'
номер недели в году, считая понедельник первым днем недели, (00...53). Дни в году предшествующие первому воскресенью относятся к нулевой неделе.
`%x'
местное представление даты (мм/дд/гг)
`%y'
последние две цифры года (00...99)
`%Y'
год (1970....)

Символьные директивы

Директивы `date' выдающие сивольные строки.

`%%'
символ %
`%n'
новая строка
`%t'
горизонтальная табуляция

Набивка

По умолчанию `date' набивает числовые поля нулями, так, что, например, номера месяцев всегда выводятся двуми цифрами. GNU `date' распознает следующие числовые модификаторы между `%' и директивой.

`-' (перенос, черточка) не набивать поле; полезна если вывод предназначается для использования людьми. `_' (подчеркивание) набивать поле пробелами; полезна если Вам нужно фиксированное число символов в выводе, но нули слишком мешаются.

Это расширения GNU.

Вот пример иллюстрирующий различия:

     date +%d/%m -d "Feb 1"
     => 01/02
     date +%-d/%-m -d "Feb 1"
     => 1/2
     date +%_d/%_m -d "Feb 1"
     =>  1/ 2

Установка времени

Если передан аргумент, не начинающийся с `+', `date' устанавливает системные часы на дату и время, указанные этим аргументом (как описано ниже). Вы должны иметь соответсвующие права для установки системного времени. Параметры `--date' и `--set' не могут быть использованы с таким аргументом. Параметр `--universal' может быть использован с таким аргументом для обозначения того, что указанное время и дата относительны к Coordinated Universal Time, на не кмесному часовому поясу.

Аргумент должен состоять только из цифр, имеющих следующее значение:

`ММ'
месяц
`ДД'
день месяца
`ЧЧ'
часы
`ММ'
минуты
`ВВ'
первые две цифры года (необязательные)
`ГГ'
последние две цифры года (необязательные)
`СС'
секунды (необязательные)

Параметр `--set' также устанавливает системные часы; см. следующий раздел.

Параметры `date'

Программа понимает следующие параметры. См. также section Общие параметры.

`-d СТРОКА-ДАТЫ'
`--date=СТРОКА-ДАТЫ'
Вывести дату и время, указанные в СТРОКЕ-ДАТЫ, вместо текущей даты и времени. СТРОКА-ДАТЫ может быть почти любого обычного формата. Она может сожержать названия месяцев, часлвых поясов, `am' и `pm', `yesterday', `ago', `next', и т.д. section Форматы ввода даты.
`-f ФАЙЛ-ДАТЫ'
`--file=ФАЙЛ-ДАТЫ'
Анализировать каждую строку и ФАЙЛЕ-ДАТЫ, как с `-d', и вывести результирующее время и дату. если ФАЙЛ-ДАТЫ это `-', использоюется стандартный ввод. Это полезно, когда нужно обрабоать много дат, поскольку замедление системы при многократном запуске `date' может быть существенным.
`-I[СПЕЦИФИКАЦИЯ-ВРЕМЕНИ]'
`--iso-8601[=СПЕЦИФИКАЦИЯ-ВРЕМЕНИ]'
Вывести дату используя формат ISO 8601, `%Г-%м-%д' Необязательный аргумент СПЕЦИФИКАЦИЯ-ВРЕМЕНИ указывает количесвто дополнительно включаемых термов. Может быть одним из:
`auto'
Стандартное поведение: вывести только дату.
`hours'
Добавить час дня к дате.
`minutes'
Добавить часы и минуты.
`seconds'
Добавить часы, минуты и секунды.
Если выводятся любые термы времени, чавой пояс включается, используя формат `%z'. Если `--utc' также указано, вместо `%z' используется `%Z'.
`-R'
`--rfc-822'
Вывести время и дату используя формат, определенный RFC-822, `%a, %_d %b %Y %H:%M:%S %z'. Если `--utc' также указано, вместо `%z' используется `GMT'.
`-r ФАЙЛ'
`--reference=ФАЙЛ'
Вывести время и дату последней модификации ФАЙЛА, вместо текущего времени и даты.
`-s СТРОКА-ДАТЫ'
`--set=СТРОКА-ДАТЫ'
Установить время и дату к СТРОКЕ-ДАТЫ, см `-d' выше.
`-u'
`--utc'
`--universal'
Вывести или установить время и дату в Universal Coordinated Time, вместо местного времени.

Примеры использования `date'

Вот несколько примеров. См. также описание параметра `-d' в предудущем разделе.

`uname': Вывод инфомации о системе

`uname' печатает информацию о машине и операционной системе, под которой она работает. Если параметры не указаны, `uname' днйствует как если бы был указан параметр `-s'. Синтаксис:

     uname [ПАРАМЕТР]...

Если указаны несколько парметров или `-a', выбранная информация печатается в следующем порядке:

   ИМЯ-СИСТЕМЫ ИМЯ-УЗЛА РЕЛИЗ ВЕРСИЯ-ОС МАШИНА

ВЕРСИЯ-ОС, по крайней мере, может состоять из нескольких слов. Например:

     uname -a
     => Linux appolohost 2.2.15-4mdk #1 Wed May 10 15:31:30 CEST 2000 i586 unknown

Программа понимает следующие параметры. См. также section Общие параметры.

`-a'
`--all'
Печатает всю информацию, описанную ниже.
`-m'
`--machine'
Печатает тип машины (аппаратного обеспечения)
`-n'
`--nodename'
Печатает имя хоста в сети.
`-p'
`--processor'
Печатает тип процессора машины.
`-r'
`--release'
Печатает релиз операционной системы.
`-s'
`--sysname'
Печатает имя операционной системы.
`-v'
Печатает версию операционной системы.

`hostname': Вывести или установить имя системы

Без аргументов `hostname' печатает имя текущей системы-хоста. С одним аргументом она устанавливает текущее имя системы-хоста равное указанной строке. Вы должны иметь соответсвующие привилегии для установки имени системы-хоста. Синтаксис:

     hostname [ИМЯ]

Параметрами являются `--help' и `--version'. См. section Общие параметры.

Измененное выполнение команд

Эта главва описывает команды, которые выполняют другие команды в некотором контексте, отличном от текушщего: с измененным окружением, от другого пользователя и др.

`chroot': Выполнить команду с измененным корневым каталогом

`chroot' выполняет команду с указанным корневым каталогом. На многих системах только супер-пользователь может делать это. Синтаксис.

     chroot НОВЫЙ-КОРЕНЬ [КОМАНДА [АРГУМЕНТЫ]...]
     chroot ПАРАМЕТР

Обычно имена файлов ищутся начиная с корневого каталога, т.е. `/'. `chroot' изменяет корневой каталог на НОВЫЙ-КОРЕНЬ (который должет существовать) и заетм запускает КОМАНДу с необязательными АРГУМЕНТами. Если КОМАНДА не указана, используется значение переменной окружения `SHELL' или, если она не установлена, `/bin/sh' с параметром `-i'.

Параметрами являются `--help' и `--version'. section Общие параметры.

`env': Запустить программу с измененным окружением

`env' запускает программу с измененным окружением. Синтаксис:

     env [ПАРМЕТР]... [ИМЯ=ЗНАЧЕНИЕ]... [КОМАНДА [АРГУМЕНТЫ]...]
     env

Аргументы вида `ИМЯ=ЗНАЧЕНИЕ' устанавливают переменной окружения ПЕРЕМЕННАЯ значение ЗНАЧЕНИЕ. ЗНАЧЕНИЕ может быть пустым (`ПЕРЕМЕННАЯ='). Задавая переменной пустое значение отличается от ее удаления.

Первый следующий за ними аргумент указывает имя программы, которую требуется выполнить; она ищется согласно переменной окружения `PATH'. Любые последующие аргументы воспринимаются как аргументы для этой программы.

Если имя команды не указано за спецификациями окружения, печатается результурующее окружение. Это подобно указанию имени команды `printenv'.

Программа понимает следующие параметры. См. также section Общие параметры

`-u ИМЯ'
`--unset=ИМЯ'
Удалить переменную ИМЯ из окружения, если она есть в нем.
`-'
`-i'
`--ignore-environment'
Начать с пустым окружением, игнорирую унаследованное.

`nice': Выполнить программу с измененным приоритетом

`nice' печатает или изменяет приоритет задачи. Синтаксис:

     nice [ПАРАМЕТР]... [КОМАНДА [АРГУМЕНТ]...]

Если аргументы не заданы, `nice' печатает текущий приоритет, который наследуется. Иначе `nice' выполняет данную КОМАНДу с измененным приоритетом. Если ИЗМЕНЕНИЕ не задано, приоритет команды возрастает на 10. Вы должны олдадать соответсвующими правами для указания отрицательного приращения. Приоритет может быть изменен в пределах от -20 (наивысший) до 19 (наименьший).

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

Программа понимает следующие параметры. См. также section Общие параметры.

`-n ИЗМЕНЕНИЕ'
`-ИЗМЕНЕНИЕ'
`--adjustment=ИЗМЕНЕНИЕ'
Добавить ИЗМЕНЕНИЕ вместо 10 к приоритету команды.

`nohup': Запустить программу с игнорированием к разрыву линии

`nohup' запускает КОМАНДУ с игнорированием к разрыву линии, так что команда может продолжать выполнение в фоновом режиме после того как Вы выйдете из системы. Синтаксис:

     nohup КОМАНДА [АРГУМЕНТЫ]...

`nohup' увеличичвает приоритет КОМАНДЫ на 5, т.о. она имеет небольшое изменение в работе. Если стандартный вывод это терминал, он и стандартный вывод ошибок перенаправляются таким образом, что они добавляются в файл `nohup.out'; если он не доступен для записи то, они дописываются в `$HOME/nohup.out'. Если это невозможно, то команда не выполняется.

Если `nohup' создает `nohup.out' или `$HOME/nohup.out', она создает его без разрешений для группы и остальных. Она не изменет разрешения, если выходной файл уже существует.

`nohup' не помещает команду автоматически в фоновый режим, Вы должны сделать это явно, завершив командную строку символом `&'/

Параметрами являются `--help' и `--version'. См. section Общие параметры.

`su': Выполнить команду с подстановкой идентификаторов пользователя и группы

`su' позволяет одному пользователю временно стать другим пользователем. Она запускает программу (обычно интерактивную оболочку) с реальным и эффективным идентификатором пользователя, группы и дополнительных групп для данного ПОЛЬЗОВАТЕЛЯ. Синтаксис:

     su [ПАРАМЕТР]... [ПОЛЬЗОВАТЕЛЬ [АРГУМЕНТ]...]

Если ПОЛЬЗОВАТЕЛЬ не задан, считается, что это `root', супер-пользователь. Используемая оболочка берется из ПОЛЬЗОВАТЕЛЬской записи в `passwd' или `/bin/sh' если ни одна там не указана. Если ПОЛЬЗОВАТЕЛЬ имеет пароль, `su' спрашивает его, если эффективный идентификатор пользователя не равен нулю (супер-пользователь).

По умолчанию, `su' не изменяет текущий каталог. Она устанавливает переменные окружения `HOME' и `SHELL' из записи пароля для ПОЛЬЗОВАТЕЛЯ, и если ПОЛЬЗОВАТЕЛЬ не является супер-пользователем, устанавлтвает `USER' и `LOGNAME' в значение ПОЛЬЗОВАТЕЛЬ. По умолчанию, оболочка не является оболочкой входа (login shell).

Любые дополнительные АРГУМЕНТЫ передаются как дополнительные аргументы командной оболочке.

GNU `su' не трактует `/bin/sh' или дюбые другие оболочки специально (т.е. устанавливая `argv[0]' в `-su', передавая `-c' только отдельным оболочкам, и т.д.)

`su' может быть опционально скомпилирован для использования `syslog' для сообщения неуачных, и опционально успешных, попыток. (Если система поддерживает `syslog'.) Однако, GNU `su' не проверяет, является ли пользователем группы `wheel'; см. ниже.

Программа понимает следующие параметры. См. также section Общие параметры

`-c КОМАНДА'
`--command=КОМАНДА'
Передать КОМАНДУ, единственную командную строку для выполнения, оболочке с параметром `-c' вместо запуска интерактивной оболочки.
`-f'
`--fast'
Передать параметр `-f' оболочке. Это возвожно имеет смысл только, если оболочка это `csh' или `tcsh', для которых парметр `-f' предотвращает чтение файла запуска (`.cshrc'). Для Борновских оболочек, параметр `-f' отключает подстановку имени файла по шаблону, что вряд ли полезно.
`-'
`-l'
`--login'
Сделать оболочку входной. Это означяет следующее. Удалить все переменные окружения кроме `TERM', `HOME' и `SHELL' (которые устанавливаются как описано выше), и `USER', и `LOGNAME' (которые устанавливаются даже для супер-пользователя, как описано выше), и установить `PATH' к "зашитому" при компиляции значению. Изменить ПОЛЬЗОВАТЕЛЬский домашний каталог. Предварить имя оболочки символом `-', чтобы она прочитала свой(и) стартовый(е) файл(ы).
`-m'
`-p'
`--preserve-environment'
Не изменять переменные окружения `HOME', `USER', `LOGNAME' или `SHELL'. Запустить оболочку, указанную в переменной окружения `SHELL' вместо оболочки, указанной в ПОЛЬЗОВАТЕЛЬской записи в passwd, если пользователь, запускающий `su', не супер-пользователь и ПОЛЬЗОВАТЕЛЬская оболочка не ограниченная. "Ограниченная оболочка" это одна из неуказанных в файле `/etc/shells', или в "вшитом" при компиляции списке, если этот файл не существует. Частично действие этого параметра может быть перекрыто параметрами `--login' и `--shell'.
`-s ОБОЛОЧКА'
`--shell=ОБОЛОЧКА'
Запустить ОБОЛОЧКУ вместо оболочки, указанной в ПОЛЬЗОВАТЕЛЬской записи в passwd, если пользователь, запускающий `su', не супер-пользователь и ПОЛЬЗОВАТЕЛЬская оболочка не ограниченная (см `-m' выше).

Задержки (паузы)

`sleep': Спать указанное время

`sleep' делает паузу на указанное время, суммируя значения в аргументах командной строки. Синтаксис:

     sleep [ЧМСЛО[smhd]]...

Каждый аргумент представляет собой число с опциональной единицей времени; по умолчанию -- секунды. Единицы впремени:

`s'
Секунды
`m'
Минуты
`h'
Часы
`d'
Дни

Параметрами являются `--help' и `--version'. См. section Общие параметры

Операции с числами

Эти программы выполняют операции, относящиеся к числам.

`factor': Печатать простые делители

`factor' пеяатает простые делилили. Синтаксис:

     factor [ЧИСЛО]...
     factor ПАРАМЕТР

Если ЧИСЛО(а) не указаны в командной строке, `factor читает числа, разделяемые переводами строки, пробелами, знаками табуляции со стандартного ввода.

Параметрами являются `--help' и `--version'. section Общие параметры.

`seq': Печатать численные последовательности

`seq' печатает числовую почледовательность на стандартный вывод. Синтаксис:

     seq [ПАРАМЕТР]... [ПЕРВОЕ [ШАГ]] ПОСЛЕДНЕЕ...

`seq' печатает числа от ПЕРВОГО до ПОСЛЕДНЕГО с шагом ШАГ. По умолчанию, ПЕРВОЕ и ШАГ раны 1, и кажое число печатается на отдельной строке. Все числа могут быть действительными, а не только целыми.

Программа принимает следующие параметры. См. также section Общие параметры

`-f ФОРМАТ'
`--format=ФОРМАТ'
Печатать все числа используя ФОРМАТ; по умолчанию ---`%g'. ФОРМАТ должен содержать один из стандартизированных форматов вывода действительных чисел: `%e', `%f', или `%g'.
`-s СТРОКА'
`--separator=СТРОКА'
Разделять числа СТРОКой; по умолчанию новая срока. Вывод всегда заканчивается переводом строки.
`-w'
`--equal-width'
Печатать все числа в полях одинаковой длины, добавляя перед числом нули. (Для использования других видов выравнивания используйте `--format').

Именной указатель

Jump to: ! - % - & - * - + - - - / - : - < - = - > - ? - \ - _ - a - b - c - d - e - f - g - h - i - k - l - m - n - o - p - q - r - s - t - u - v - w - x - y - | - н - с - А - Б - Д - Ф - Г - И - К - Л - М - Н - О - П - Р - С - Т - У - В - З - Ш - Ч

!

  • !
  • !=, !=
  • %

  • %
  • %%
  • %a
  • %A
  • %B
  • %b
  • %c
  • %d
  • %D
  • %h
  • %H
  • %j
  • %k
  • %l
  • %M
  • %m
  • %n
  • %p
  • %r
  • %s
  • %S
  • %T
  • %t
  • %U
  • %V
  • %W
  • %w
  • %X
  • %x
  • %y
  • %Y
  • %Z, %Z
  • %z, %z
  • &

  • &
  • *

  • *
  • +

  • +, +
  • -

  • -, -, -, -, -
  • --adjustment=
  • --all, --all
  • --append
  • --command=
  • --count
  • --date=
  • --equal-width
  • --fast
  • --file
  • --file=
  • --format=
  • --group
  • --groups
  • --heading
  • --help
  • --idle
  • --ignore-environment
  • --ignore-interrupts
  • --iso-8601
  • --login
  • --lookup
  • --machine
  • --mesg
  • --message
  • --name
  • --nodename
  • --portability
  • --preserve-environment
  • --processor
  • --quiet
  • --real
  • --reference=
  • --release
  • --rfc-822
  • --save
  • --separator=
  • --set=
  • --shell
  • --silent
  • --sysname
  • --universal
  • --unset=ИМЯ
  • --user
  • --utc
  • --version
  • --writable
  • -a, -a, -a, -a
  • -b
  • -c, -c
  • -d, -d
  • -e, -e
  • -ef
  • -eq
  • -F
  • -f, -f, -f, -f
  • -G, -G
  • -g, -g, -g
  • -ge
  • -gt
  • -H
  • -h
  • -I
  • -i, -i, -i, -i
  • -k
  • -L
  • -l
  • -le
  • -lt
  • -m, -m, -m
  • -n, -n, -n, -n, -n
  • -ne
  • -nt
  • -O
  • -o
  • -ot
  • -p, -p, -p, -p
  • -q
  • -R
  • -r, -r, -r, -r
  • -S
  • -s, -s, -s, -s, -s, -s, -s
  • -t
  • -T
  • -u, -u, -u, -u, -u
  • -v
  • -w, -w, -w
  • -x
  • -z
  • /

  • /
  • /bin/sh
  • /etc/shells
  • /var/run/utmp, /var/run/utmp
  • /var/run/wtmp, /var/run/wtmp
  • :

  • :
  • <

  • <
  • <=
  • =

  • =
  • ==
  • >

  • >
  • >=
  • ?

  • ?
  • \

  • \(
  • \)
  • \+
  • \0ввв
  • \?
  • \\
  • \a
  • \b
  • \c
  • \f
  • \n
  • \r
  • \t
  • \v
  • \xшшш
  • \|
  • \ЦЦЦ
  • _

  • _
  • a

  • ago
  • am i
  • AM/PM
  • auto
  • b

  • basename
  • brkint
  • bs1
  • bs2
  • c

  • c0
  • c1
  • c2
  • c3
  • cbreak
  • chroot
  • clocal
  • cols
  • columns
  • cooked
  • Coordinated Universal Time
  • cread
  • crt
  • crterase
  • crtkill
  • crtscts
  • cs5
  • cs6
  • cs7
  • cs8
  • cstopb
  • ctlecho
  • d

  • d
  • date
  • day
  • dec
  • decctlq
  • dirname
  • DNS
  • dsusp
  • e

  • echo, echo
  • echoctl
  • echoe
  • echok
  • echoke
  • echonl
  • echoprt
  • eighth
  • ek
  • eleventh
  • env
  • eof
  • eol
  • eol2
  • erase
  • evenp
  • expr
  • f

  • factor
  • false
  • ff0
  • ff1
  • fifth
  • first
  • fortnight
  • fourth
  • Franc,ois Pinard
  • Friday
  • g

  • groups
  • h

  • h
  • hostname
  • hour
  • hours
  • hup
  • hupcl
  • i

  • icanon
  • icrnl
  • id
  • iexten
  • ignbrk
  • igncr
  • ignpar
  • imaxbel
  • index
  • inlcr
  • inpck
  • intr
  • isig
  • ispeed
  • istrip
  • iuclc
  • ixany
  • ixoff
  • ixon
  • k

  • kill
  • l

  • last
  • LCASE
  • lcase
  • length
  • line N
  • litout
  • lnext
  • LOGNAME
  • logname
  • m

  • m
  • match
  • min
  • min N
  • minute
  • minutes
  • Monday
  • month
  • n

  • N
  • next
  • nice
  • ninth
  • nl
  • nl0
  • nl1
  • noflsh
  • nohup
  • now
  • o

  • ocrnl
  • oddp
  • ofdel
  • ofill
  • olcuc
  • onlcr
  • onlret
  • onocr
  • opost
  • ospeed
  • p

  • parenb
  • parity
  • parmrk
  • parodd
  • pass8
  • pathchk
  • printenv
  • printf
  • prterase
  • pwd
  • q

  • quit
  • quote
  • r

  • raw
  • rows N
  • rprnt
  • s

  • s
  • sane
  • Saturday
  • sec
  • second
  • seconds
  • seq
  • seventh
  • sixth
  • size
  • sleep
  • speed
  • start
  • stop
  • stty
  • su
  • substr
  • Sunday
  • susp
  • swtch
  • t

  • tab0
  • tab1
  • tab2
  • tab3
  • tabs
  • tandem
  • tee
  • tenth
  • test
  • third
  • this
  • Thursday
  • time N
  • today
  • tomorrow
  • tostop
  • true
  • tty
  • Tuesday
  • twelfth
  • u

  • uname
  • USER
  • users
  • UTC
  • v

  • vt0
  • vt1
  • w

  • Wednesday
  • week
  • werase
  • who
  • whoami
  • x

  • xcase
  • y

  • year
  • yes
  • yesterday
  • |

  • |
  • н

  • новая строка
  • с

  • статус сообщений пользователя
  • А

  • Альтернативный символ конца строки
  • Арифметические выражения
  • Авторы `getdate'
  • Б

  • Бит паритета
  • Д

  • Дата
  • День
  • День недели
  • Директивы даты
  • Директивы времени
  • Дни
  • Джим Беретс
  • Джим Мейеринг
  • Два бита остановки на символ
  • Дэвид МакКензи
  • ДД
  • Ф

  • Формат даты
  • Формат вывода чисел
  • Форматированная печать текста
  • Форматы ввода даты
  • Г

  • Год
  • Горизонтальная табуляция
  • ГГ
  • И

  • Игнорировать перевод каретки
  • Игнорировать символы разрыва
  • Игнорировать символы с ошибками паритета
  • Имя хоста в сети
  • Имя операционной системы
  • Информация о пользователе
  • Использовать дисциплину линии N
  • Использовать сиволы удаления для заполнения
  • Измененное выполнение команд
  • К

  • К. Берри
  • Календарная дата
  • Коминирующие установки
  • Конец строки
  • Контроль потока RTS/CTS
  • Л

  • Локальные установки
  • М

  • Манипулирование именами файлов
  • Месяц
  • Минуты, Минуты
  • ММ
  • Н

  • Набивка, Набивка
  • Напечатать скорость терминала
  • Напечатать, кто работает в системе
  • Начать с пустым окружением
  • Не печатать перевод каретки в первой колонке
  • Непосредственные числа в строках данных
  • Ничего не делать, неуспешно
  • Ничего не делать, успешно
  • Новая строка выполняет перевод каретки
  • О

  • Обратный слэш
  • Общие параметры
  • Операции с числами
  • Основной синтаксис даты
  • Остановить вывод
  • Отключить сигналы управления модема
  • Отмечать все ошибки паритета
  • Относительные элементы даты
  • Отрезать путь и суффикс от имени файла.
  • П

  • Параметры `date'
  • Паузы
  • Переключиться на другой уровень оболочки
  • Перенаправить вывод на несколько файлов
  • Перенаправление
  • Перерисовать текущую строку
  • Перевод страницы
  • Перезапустить вывод после его остановки
  • Печатает только логины и количество пользователей
  • Печатать действительный, вместо эффективного, идентификатор
  • Печатать имя пользователя или группы вместо идентификатора
  • Печатать простые делители
  • Печатать строку до прерывания
  • Печатать текущий логин
  • Печатать только дополнительные группы
  • Печатать только идентификатор группы
  • Печатать только идентификатор пользователя
  • Печатать числа в полях одинаковой длины
  • Печатать численные последовательности
  • Печать или изменение характеристик терминала
  • Печать строки текста
  • Печать текста
  • Печать текущего каталога
  • Подавитьзавершающий перевод строки
  • Послать конец файла
  • Послать сигнал остановки терминала
  • Послать сигнал остановки терминала после сброса ввода
  • Послать сигнал прерывания
  • Послать сигнал выхода
  • Примеры использования `date'
  • Примеры использования `expr'
  • Проверить портируемость имени файла
  • Проверка файловых характеристик
  • Проверка на соответсвие шаблону
  • Проверка прав доступа
  • Проверка типов файлов
  • Проверяет типы файлов и сравнивает значения
  • Пусть разрывы вызывают сигнал прерывания
  • Р

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

  • Сбросить старший бит вводимых символов
  • Секунды, Секунды
  • Сигнал отключения
  • Символьные директивы
  • Системный контекст
  • Спать указанное время
  • Специальные символы
  • Специальные установки
  • Стиль задержки горизонтальной табуляции
  • Стиль задержки новой строки
  • Стиль задержки перевода страницы
  • Стиль задержки вертикальной табуляции
  • Стиль задержки возврата каретки
  • Стиль задержки шага назад
  • Стивен М. Белловин
  • Строковые тесты
  • Строковые выражения
  • Связки для `test'
  • Свзяки для `expr'
  • СС
  • Т

  • Тип машины
  • Тип процессора машины
  • Транслировать новую строку в перевод каретки, Транслировать новую строку в перевод каретки
  • Транслировать перевод каретки в новую строку, Транслировать перевод каретки в новую строку
  • Транслировать прописные буквы в строчные
  • Транслировать строчные буквы в прописные
  • У

  • Удалить переменную из окружения
  • Удалить последнее введенное слово
  • Удалить последний введенный символ
  • Удалить суффикс, не являющийся каталогом.
  • Удалить текущую строку
  • Управляющие установки
  • Условия
  • Установить скорость ввода и вывода в N
  • Установить скорость ввода в N
  • Установить скорость вывода в N
  • Установка времени
  • Установки ввода
  • Установки вывода
  • В

  • Версия ОС
  • Вертикальная табуляция
  • Включить контроль потока XON/XOFF
  • Включить проверку паритета ввода
  • Восьмеричный код символа, Восьмеричный код символа
  • Возврат каретки
  • Время неактивности пользователя
  • Время суток
  • Введение
  • Ввести следующий символ, набранный символьно
  • Выполнить команду с измененным корневым каталогом
  • Выполнить команду с подстановкой идентификаторов пользователя и группы
  • Выполнить программу с измененным приоритетом
  • Вывести "шапку" заголовков столбцов
  • Вывести действительные и эффективный uid и gid
  • Вывести или установить имя системы
  • Вывести имена групп, которым принадлежит пользователь
  • Вывести имя файла терминала на стандартный вывод
  • Вывести логины пользователей, работающих в системе
  • Вывести эффективный идентификатор пользователя
  • Вывод или установка системной даты и времени
  • Вывод инфомации о системе
  • Вывод после обработки
  • Вывод всех или некоторых переменных среды
  • Вывод всей информации о системе
  • Вычисление выражений
  • ВВ
  • З

  • Задержки
  • Заполнение буфера
  • Заполнение символами
  • Запустить программу с игнорированием к разрыву линии
  • Запустить программу с измененным окружением
  • Завершить ввод
  • Звонок
  • Ш

  • Шаг назад
  • Шестнацатеричный код символа
  • Ч

  • Часовой пояс
  • Часы, Часы
  • Численные тесты
  • ЧЧ

  • This document was generated on 2 April 2002 using texi2html 1.56k.

    Используются технологии uCoz