Главная » 2017 » Ноябрь » 13 » man tcsh на русском часть 2
22:38
man tcsh на русском часть 2

SEO sprint - Всё для максимальной раскрутки!

Другие подстановки (+)
Существует еще несколько преобразований с именами файлов, не строго связанных с вышеупомянутым, но упомянутых здесь для полноты. Любое имя файла может быть расширено до полного пути, когда переменная symlinks (q.v.) установлена ​​в `expand '. Quoting предотвращает это расширение, и команда редактора normalize-path делает это по требованию. Команда редактора normalize-command расширяет команды в PATH на полные пути по требованию. Наконец, cd и pushd интерпретируют `- 'как старую рабочую директорию (эквивалентную переменной оболочки owd). Это не подстановка вообще, а аббревиатура, распознаваемая только этими командами. Тем не менее, это тоже может быть предотвращено путем цитирования.
команды
В следующих трех разделах описывается, как оболочка выполняет команды и обрабатывает их вход и выход.
Простые команды, конвейеры и последовательности
Простая команда - это последовательность слов, первая из которых указывает исполняемую команду. Ряд простых команд, соединенных `| ' символы образуют конвейер. Выход каждой команды в конвейере подключается к входу следующего.

Простые команды и конвейеры могут быть объединены в последовательности с символом `; 'и будут выполняться последовательно. Команды и конвейеры также могут быть объединены в последовательности с `|| ' или `&& ', указывая, как на языке C, что второй должен быть выполнен только в том случае, если первый сбой или успешный результат соответственно.

Простую команду, конвейер или последовательность можно помещать в круглые скобки `() ', чтобы сформировать простую команду, которая, в свою очередь, может быть компонентом конвейера или последовательности. Команду, конвейер или последовательность можно выполнить, не дожидаясь завершения операции, следуя за ней с помощью `& '.
Исполнение встроенной и не встроенной команды
Встроенные команды выполняются внутри оболочки. Если какой-либо компонент конвейера, кроме последнего, является встроенной командой, конвейер выполняется в подоболочке.

Команды в скобках всегда выполняются в подоболочке.

(cd; pwd); PWD

таким образом печатает домашний каталог, оставляя вас там, где вы были (печатайте это после домашнего каталога), в то время как

CD; PWD

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

Когда команда, которая будет выполнена, не будет встроенной командой, оболочка пытается выполнить команду через execve (2). Каждое слово в пути переменной определяет каталог, в котором оболочка будет искать команду. Если ему не задана опция a -c или a -t, оболочка хэширует имена в этих каталогах во внутреннюю таблицу, чтобы попытаться выполнить execve (2) только в каталоге, где есть вероятность, что команда находится там , Это значительно ускоряет расположение команд, когда в пути поиска присутствует большое количество каталогов. Если этот механизм был отключен (через unhash), если оболочке был задан аргумент -c или -t или в любом случае для каждого компонента каталога пути, который не начинается с `/ ', оболочка объединяет текущую рабочую каталог с заданным именем команды, чтобы сформировать путь к файлу, который затем пытается выполнить.

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

В системах, которые не понимают `#! ' сценарий интерпретатора интерпретатора shell может быть скомпилирован для его эмулирования; см. переменную оболочки версии. Если это так, оболочка проверяет первую строку файла, чтобы увидеть, имеет ли он форму `#! Interpreter arg ... '. Если это так, оболочка запускает интерпретатор с данными аргументами и подает файл на него на стандартный ввод.
Ввод, вывод
Стандартный ввод и стандартный вывод команды могут быть перенаправлены со следующим синтаксисом:

<имя
В качестве стандартного ввода вы можете открыть имя файла (которое является первой переменной, командой и именем файла).
<< слово
Прочитайте ввод оболочки до строки, которая идентична слову. слово не подвергается переменной, имени файла или подстановке команд, и каждая строка ввода сравнивается со словом до того, как в этой строке ввода будут сделаны какие-либо подстановки. Если в переменных слова не отображается цитирование `\ ',` "',` 'или ``', а подстановка команд выполняется на промежуточных строках, что позволяет `\ 'указывать` $', `\ 'и` `'. Команды которые заменяются, сохраняются все пробелы, табуляции и новые строки, за исключением окончательной новой строки, которая отбрасывается. Полученный текст помещается в анонимный временный файл, который присваивается команде в качестве стандартного ввода.

> имя
>! имя
> & name

> &! имя
Имя файла используется как стандартный вывод. Если файл не существует, он создается; если файл существует, он усекается, его предыдущее содержимое теряется.

Если задана переменная оболочки noclobber, то файл не должен существовать или быть специальным файлом символа (например, терминалом или `/ dev / null ') или результатом ошибки. Это помогает предотвратить случайное уничтожение файлов. В этом случае `! ' формы могут быть использованы для подавления этой проверки.

Формы, содержащие `& ', маршрутизируют диагностический вывод в указанный файл, а также стандартный вывод. имя расширяется так же, как и входные имена `<'.

>> имя
>> & name
>>! имя

>> &! имя
Как `> ', но добавляет вывод в конец имени. Если задана переменная оболочки noclobber, то это ошибка для того, чтобы файл не существовал, если только один из `! ' формы.

Команда получает среду, в которой оболочка была вызвана с изменением параметров ввода-вывода и наличием команды в конвейере. Таким образом, в отличие от некоторых предыдущих оболочек, команды, запускаемые из файла команд оболочки, не имеют доступа к тексту команд по умолчанию; скорее они получают исходный стандартный ввод оболочки. Для представления встроенных данных следует использовать механизм «<<». Это позволяет командам командной оболочки работать в качестве компонентов конвейеров и позволяет оболочке блокировать чтение своего ввода. Обратите внимание, что стандартный стандартный ввод для отладки команды не является пустым файлом / dev / null, а исходным стандартным вводом оболочки. Если это терминал, и если процесс пытается прочитать с терминала, процесс блокируется, и пользователь будет уведомлен (см. Работы).

Диагностический выход может быть направлен через трубу со стандартным выходом. Просто используйте форму `| & ', а не просто` |'.

Оболочка не может в настоящее время перенаправлять диагностический вывод, не перенаправляя также стандартный вывод, но `(command> output-file)> & error-file 'часто является приемлемым обходным решением. Любой выходной файл или файл ошибок может быть `/ dev / tty 'для отправки вывода на терминал.

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

Операторы foreach, switch и while, а также форма if-then-else оператора if требуют, чтобы основные ключевые слова отображались в одной простой команде на входной строке, как показано ниже.

Если вход оболочки не доступен для поиска, оболочка буферизует входной сигнал всякий раз, когда цикл считывается и выполняет поиск в этом внутреннем буфере, чтобы выполнить перечитывание, указанное в цикле. (В той степени, в которой это позволяет, обратные gotos преуспеют в недоступных для входа входах).
Выражения
Команды if, while и exit встроены в выражения с общим синтаксисом. Выражения могут включать любой из операторов, описанных в следующих трех разделах. Обратите внимание, что команда @ builtin (q.v.) имеет свой отдельный синтаксис.
Логические, арифметические и сравнительные операторы
Эти операторы аналогичны тем, которые имеют С и имеют одинаковый приоритет. Они включают

|| && | ^ & ==! = = ~! ~ <=> =
<> << >> + - * /%! ~ ()

Здесь приоритет увеличивается вправо, `== '`! =' `= ~ 'И`! ~', `<= '`>' '<' И `> ',` <<' и `>> ',' + 'и `-',` * '`/' и`% 'в группах на одном уровне. Операторы `== '`! =' `= ~ И`! ~ 'Сравнивают свои аргументы как строки; все остальные работают по номерам. Операторы `= ~ 'и`! ~' Похожи на `! = 'И` ==', за исключением того, что правая часть является шаблоном glob (см. Подстановку имен файлов), с которым сопоставляется левый операнд. Это уменьшает необходимость использования встроенной команды switch в сценариях оболочки, когда все, что действительно необходимо, - это сопоставление шаблонов.

Строки, начинающиеся с «0», считаются восьмеричными числами. Нулевые или отсутствующие аргументы считаются «0». Результатами всех выражений являются строки, которые представляют десятичные числа. Важно отметить, что никакие две составляющие выражения не могут появляться в одном и том же слове; кроме случаев, когда они смежны с компонентами выражений, синтаксически значимыми для синтаксического анализатора (`& '` |' `<'`>' `('`)'), они должны быть окружены пробелами.
Статус выхода команды
Команды могут выполняться в выражениях, и их статус выхода возвращается, заключая их в фигурные скобки (`{} '). Помните, что скобки должны быть отделены от слов команды пробелами. Выполнение команд выполняется успешно, возвращая true, то есть «1», если команда завершает работу со статусом 0, иначе они терпят неудачу, возвращая false, то есть «0». Если требуется более подробная информация о статусе, команда должна выполняться вне выражения и проверяется переменная оболочки состояния.
Операторы запросов к файлам
Некоторые из этих операторов выполняют истинные / ложные тесты на файлы и связанные объекты. Они имеют форму -op-файл, где op является одним из

р
Доступ для чтения
вес
Доступ к записи
Икс
Выполнять доступ
Икс
Исполняемые в построении пути или оболочки, например, `-X ls 'и` -X ls-F', как правило, истинны, но `-X / bin / ls 'не является (+)
е
существование
о
Владение
Z
Нулевой размер
s
Необязательный размер (+)
е
Обычный файл
d
каталог
L
Символическая ссылка (+) *
б
Блокировать специальный файл (+)
с
Специальный файл символов (+)
п
Именованная труба (fifo) (+) *
S
Специальный файл сокета (+) *
U
Установленный бит идентификатора пользователя установлен (+)
г
Установленный бит группы Set (+)
К
Установлен липкий бит (+)
T
файл (который должен быть цифрой) является открытым файловым дескриптором для терминального устройства (+)
р
Был перенесен (только выпуклый) (+)
L
Применяет последующие операторы в тесте с несколькими операторами к символической ссылке, а не к файлу, к которому относится ссылка (+) *

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

Эти операторы могут быть объединены для краткости: «-xy-файл» эквивалентен «-x file && -y file». (+) Например, `-fx 'является истинным (возвращает` 1') для простых исполняемых файлов, но не для каталогов.

L может использоваться в тесте с несколькими операторами для применения последующих операторов к символической ссылке, а не к файлу, на который указывает ссылка. Например, `-lLo 'истинно для ссылок, принадлежащих вызывающему пользователю. Lr, Lw и Lx всегда верны для ссылок и false для не-ссылок. L имеет другое значение, когда он является последним оператором в тесте с несколькими операторами; Смотри ниже.

Возможно, но не полезно, а иногда и вводить в заблуждение, комбинировать операторов, которые ожидают, что файл будет файлом с операторами, которые этого не делают (например, X и t). После L с помощью не-файла оператор может привести к особенно странным результатам.

Другие операторы возвращают другую информацию, то есть не только «0» или «1». (+) Они имеют тот же формат, что и раньше; op может быть одним из


Время последнего доступа к файлу, так как количество секунд с момента
A:
Как и A, но в формате timestamp, например, «Fri May 14 16:36:10 1993»,
M
Время последнего изменения файла
М:
Как и M, но в формате timestamp
С
Время последней модификации inode
C:
Как и C, но в формате timestamp
D
Номер устройства
я
Номер Inode
F
Идентификатор композитного файла в устройстве формы: inode
L
Имя файла, на которое указывает символическая ссылка
N
Количество (жестких) ссылок
п
Разрешения, в восьмеричном, без начального нуля
П:
Подобно P, с начальным нулем
PMODE
Эквивалент `-P file & mode ', например,` -P22 file' возвращает `22 ', если файл доступен для записи группой и другими,` 20', если только по группе, и `0 ', если ни один из них
PMODE:
Подобно Pmode :, с начальным нулем
U
Числовой идентификатор пользователя
U:
Имя пользователя или числовой идентификатор пользователя, если имя пользователя неизвестно
г
Числовая группа
Г:
Имя группы или числовая группа, если имя группы неизвестно
Z
Размер, в байтах

Только один из этих операторов может появиться в тесте с несколькими операторами, и он должен быть последним. Обратите внимание, что L имеет другое значение в конце и в другом месте в тесте с несколькими операторами. Поскольку `0 'является допустимым возвращаемым значением для многих из этих операторов, они не возвращают` 0', когда они терпят неудачу: большинство возвращает `-1 ', а F возвращает`:'.

Если оболочка скомпилирована с установленным POSIX (см. Переменную оболочки версии), результат запроса файла основан на битах разрешения файла, а не на результате системного вызова доступа (2). Например, если вы тестируете файл с ключом -w, разрешения которого обычно позволяют записывать, но который находится в файловой системе, смонтированной только для чтения, тест будет успешным в оболочке POSIX, но не будет работать в оболочке, отличной от POSIX.

Операторы запроса файла также могут быть оценены с помощью встроенной команды filetest (q.v.) (+).

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

[1] 1234

что работа, которая была запущена асинхронно, была номером 1 работы и имела один (верхний уровень) процесс, чей идентификатор процесса был 1234.

Если вы выполняете задание и хотите сделать что-то еще, вы можете нажать клавишу приостановки (обычно `^ Z '), которая отправляет сигнал STOP на текущее задание. Затем оболочка обычно указывает, что задание было «приостановлено» и распечатало другое приглашение. Если задана переменная оболочки listjobs, все задания будут перечислены как команда builtins; если он настроен на `long ', список будет в длинном формате, например` jobs -l'. Затем вы можете управлять состоянием приостановленной работы. Вы можете поместить его в «фон» с помощью команды bg или запустить некоторые другие команды и в конечном итоге вернуть задание в «передний план» с помощью fg. (См. Также команду редактора редактора run-fg-editor.) «^ Z» вступает в силу немедленно и как прерывание в том, что ожидающий вывод и непрочитанный ввод отбрасываются при его вводе. Команда wait builtin заставляет оболочку ждать завершения всех фоновых заданий.

Клавиша `^ 'отправляет задержанный сигнал приостановки, который не генерирует сигнал STOP до тех пор, пока программа не попытается прочитать (2) это текущее задание. Это может быть полезно напечатать заранее, когда вы подготовили некоторые команды для задания, которое вы хотите остановить, после того, как прочитали их. Клавиша `^ Y 'выполняет эту функцию в csh (1); в tcsh, `^ Y '- команда редактирования. (+)

Работа, выполняемая в фоновом режиме, останавливается, если она пытается прочитать с терминала. Фоновым заданиям обычно разрешено создавать выходные данные, но это можно отключить, указав команду `stty tostop '. Если вы установите эту опцию tty, фоновые задания прекратятся, когда они попытаются произвести вывод, как они делают, когда они попытаются прочитать ввод.

Существует несколько способов ссылаться на задания в оболочке. Символ `% 'вводит имя задания. Если вы хотите сослаться на номер задания 1, вы можете назвать его как «% 1». Простое назначение задания выводит его на передний план; поэтому «% 1» является синонимом «fg% 1», возвращая работу 1 на передний план. Аналогично, выражение `% 1 & 'возобновляет работу 1 в фоновом режиме, как и` bg% 1'. Задание также может быть названо однозначным префиксом строки, введенной для ее начала: `% ex 'обычно перезапускает приостановленное ex (1) задание, если было только одно приостановленное задание, имя которого начиналось со строки` ex' , Также можно указать `%? String 'для задания задания, текст которого содержит строку, если есть только одно такое задание.

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

Механизм управления заданиями требует, чтобы параметр stty (1) `new 'устанавливался в некоторых системах. Это артефакт из «новой» реализации драйвера tty, который позволяет генерировать символы прерываний с клавиатуры, чтобы остановить выполнение заданий. Подробнее о настройке параметров в новом tty-драйвере см. В файле stty (1) и команде setty builtin.

Отчет о состоянии
Оболочка сразу узнает, когда процесс изменяется. Он обычно информирует вас всякий раз, когда задание блокируется, так что дальнейший прогресс возможен, но только до того, как он распечатает приглашение. Это делается так, чтобы это не нарушало вашу работу. Если, однако, вы установите уведомление оболочки, оболочка немедленно сообщит вам об изменениях статуса в фоновых заданиях. Также есть команда оболочки, которая уведомляет о том, что отмечает один процесс, чтобы немедленно сообщать о его изменениях. По умолчанию уведомляет отметки текущего процесса; просто скажите «уведомить» после запуска фоновой работы, чтобы пометить его.

Когда вы пытаетесь оставить оболочку во время остановки работы, вы будете предупреждены, что «вы остановили работу». Вы можете использовать команду jobs, чтобы узнать, что это такое. Если вы сделаете это или сразу попытаетесь выйти снова, оболочка не будет предупреждать вас во второй раз, и приостановленные задания будут прекращены.
Автоматические, периодические и синхронизированные события (+)
Существуют различные способы запуска команд и выполнения других действий автоматически в разное время в «жизненном цикле» оболочки. Они суммируются здесь и подробно описаны в соответствующих командах Builtin, специальных переменных оболочки и специальных псевдонимов.

Команда schedinedin ставит команды в список запланированных событий, которые должны выполняться оболочкой в ​​данный момент времени.

Beepcmd, cwdcmd, периодический, precmd, postcmd и jobcmd. Специальные псевдонимы могут быть установлены, соответственно, для выполнения команд, когда оболочка хочет позвонить в колокол, когда рабочий каталог изменяется, каждые минуты в течение каждого запроса перед каждой командой запускается, после выполнения каждой команды, и когда задание запускается или выводится на передний план.

Переменная оболочки autologout может быть установлена ​​для выхода из системы или блокировки оболочки после заданного количества минут бездействия.

Переменная почтовой оболочки может быть настроена для периодической проверки новой почты.

Переменная оболочки printexitvalue может быть настроена так, чтобы печатать статус выхода команд, которые выходят со статусом, отличным от нуля.

Переменная оболочки rmstar может быть настроена на то, чтобы спросить пользователя, когда вводится «rm *», если это действительно то, что означало.

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

Параметры часов и переменные оболочки могут быть настроены так, чтобы сообщать, когда выбранные пользователи входят в систему или выходят, а команда встроенного журнала регистрирует эти пользователи в любое время.
Поддержка языковой системы (+)
Оболочка имеет восемь бит (если она скомпилирована, см. Переменную оболочки версии) и, таким образом, поддерживает наборы символов, требующие этой возможности. Поддержка NLS различается в зависимости от того, была ли скомпилирована оболочка для использования NLS системы (опять же, см. Версию). В любом случае 7-разрядный ASCII - это код символа по умолчанию (например, классификация символов, подлежащих печати) и сортировка, а также изменение переменных среды LANG или LC_CTYPE приводит к проверке возможных изменений в этих отношениях.

При использовании NLS системы функция setlocale (3) вызывается для определения соответствующего символьного кода / классификации и сортировки (например, «en_CA.UTF-8» дает код «UTF-8» в качестве символьного кода). Эта функция обычно анализирует переменные среды LANG и LC_CTYPE; более подробную информацию см. в документации по системе. Если не использовать NLS системы, оболочка имитирует его, предполагая, что набор символов ISO 8859-1 используется всякий раз, когда заданы переменные LANG и LC_CTYPE независимо от их значений. Сортировка не влияет на моделируемую NLS.

Кроме того, как с реальными, так и с имитируемыми NLS, все печатные символы в диапазоне \ 200- \ 377, т. Е. Те, у которых есть привязки M-char, автоматически восстанавливаются до self-insert-command. Соответствующая привязка для последовательности escape-char, если таковая имеется, остается одной. Эти символы не восстанавливаются, если установлена ​​переменная среды NOREBIND. Это может быть полезно для моделируемой NLS или примитивной реальной NLS, которая предполагает полный ISO 8859-1. В противном случае все привязки M-char в диапазоне \ 240- \ 377 эффективно отменены. Очевидно, что повторное связывание соответствующих ключей с bindkey, конечно, возможно.

Неизвестные символы (т. Е. Те, которые не являются ни печатными, ни управляющими символами) печатаются в формате \ nnn. Если tty не находится в 8-битном режиме, другие 8-битные символы печатаются путем преобразования их в ASCII и использования режима standout. Оболочка никогда не изменяет режим 7/8 бит tty и не отслеживает инициированные пользователем изменения режима 7/8 бит. Пользователям NLS (или, если на то пошло, тем, кто хочет использовать мета-ключ), возможно, необходимо явно установить tty в 8-битном режиме с помощью соответствующей команды stty (1), например, в файле ~ / .login.

Поддержка варианта ОС (+)
Для поддержки функций в конкретных операционных системах предусмотрен ряд новых встроенных команд. Все они подробно описаны в разделе «Встроенные команды».

В системах, поддерживающих TCF (aix-ibm370, aix-ps2), getpath и setspath получают и устанавливают путь выполнения системы, getxvers и setxvers получают и устанавливают префикс экспериментальной версии и переносят процессы миграции между сайтами. Созданные задания печатают сайт, на котором выполняется каждое задание.

В BS2000 команда bs2cmd выполняет команды базовой операционной системы BS2000 / OSD.

В разделе «Домен / ОС» inlib добавляет общие библиотеки в текущую среду, rootnode изменяет корневой каталог, а ver изменяет systype.

Под Махом путь setpath эквивалентен pathpath (1) Маха.

В Masscomp / RTU и Harris CX / UX юниверс устанавливает юниверс.

Под Harris CX / UX ucb или att запускает команду под указанным юниверсом.

В Convex / OS warp печатает или устанавливает юниверс.

Переменные окружения VENDOR, OSTYPE и MACHTYPE указывают, соответственно, поставщика, операционную систему и тип машины (класс микропроцессора или модель машины) системы, на которой оболочка считает, что она работает. Они особенно полезны при обмене домашним каталогом между несколькими типами машин; можно, например,

set path = (~ / bin. $ MACHTYPE / usr / ucb / bin / usr / bin.)

в своем ~ / .login и поместить исполняемые файлы, скомпилированные для каждой машины в соответствующий каталог.

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

Также обратите внимание на переменные оболочки newgrp builtin, afsuser и echo_style и зависящие от системы расположения входных файлов оболочки (см. ФАЙЛЫ).
Обработка сигналов
При просмотре файла ~ / .logout блокировки входа игнорируют прерывания. Оболочка игнорирует сигналы выхода, если только не запускается с -q. Локальные оболочки улавливают сигнал завершения, но оболочки, не входящие в систему, наследуют поведение от своих родителей. Другие сигналы имеют значения, которые оболочка унаследовала от своего родителя.

В сценариях оболочки обработка командами сигналов прерывания и завершения работы оболочки может контролироваться с помощью onintr, а ее обработка зависаний может контролироваться с помощью hup и nohup.

Оболочка выходит из зависания (см. Также переменную оболочки выхода). По умолчанию дети с оболочкой тоже, но оболочка не отправляет им зависание при выходе. hup устраивает оболочку для отправки зависания ребенку, когда он выходит, а nohup устанавливает дочерний элемент для игнорирования зависаний.
Управление терминалом (+)
Оболочка использует три разных набора терминальных (`` tty '') режимов: `edit ', используемые при редактировании,` quote', используемые при цитировании буквенных символов и `execute ', используемые при выполнении команд. Оболочка содержит некоторые настройки в каждой константе режима, поэтому команды, которые оставляют tty в запутанном состоянии, не мешают оболочке. Оболочка также соответствует изменениям скорости и отступов tty. Список режимов tty, которые поддерживаются постоянными, может быть проверен и изменен с помощью встроенного setty. Обратите внимание, что хотя редактор использует режим CBREAK (или его эквивалент), он все равно принимает символы с набросками.

Команды echotc, settc и telltc могут использоваться для управления и отладки функций терминала из командной строки.

В системах, поддерживающих SIGWINCH или SIGWINDOW, оболочка автоматически адаптируется к размеру окна и настраивает переменные среды LINES и COLUMNS, если они установлены. Если переменная окружения TERMCAP содержит поля li # и co #, оболочка настраивает их, чтобы отобразить новый размер окна.
СПРАВКА
В следующих разделах этого руководства описываются все доступные команды Builtin, специальные псевдонимы и специальные переменные оболочки.

Встроенные команды

% работа
Синоним команды fg builtin.
% job &
Синоним команды bg builtin.
:
Ничего не делает, успешно.

@
@ name = expr
@ name [index] = expr
@ name ++ | -

@ name [index] ++ | -
Первая форма печатает значения всех переменных оболочки.

Вторая форма присваивает значение expr для имени. Третья форма присваивает значение expr индексовому компоненту имени; как имя, так и его индексный компонент уже должны существовать.

expr может содержать операторы `* ',` +' и т. д., как в C. Если expr содержит `<',`>', `& 'или`', то по крайней мере часть expr должна быть помещена в `( ). Обратите внимание, что синтаксис выражения expr не имеет ничего общего с описанным в разделе «Выражения».

Четвертое и пятое число приращений (`++ ') или декремент (` -') или его индексный компонент.

Требуется пространство между `@ 'и именем. Пространства между именем и `= 'и между` =' и expr являются необязательными. Компоненты expr должны быть разделены пробелами.

псевдоним [name [wordlist]]
Без аргументов печатает все псевдонимы. С именем печатает псевдоним для имени. С именем и списком слов назначает wordlist как псевдоним имени. wordlist - это команда и имя файла. имя не может быть «alias» или «unalias». См. Также встроенную команду unalias.
Alloc
Показывает объем приобретенной динамической памяти, разбитый на использованную и свободную память. В аргументе показано количество свободных и используемых блоков в каждой категории размеров. Категории начинаются с размера 8 и удваиваются на каждом шаге. Выход этой команды может различаться для разных типов систем, поскольку в системах, отличных от VAX, может использоваться другой распределитель памяти.
bg [% job ...]
Помещает заданные задания (или, без аргументов, текущее задание) в фоновый режим, продолжая каждый, если он остановлен. job может быть числом, строкой, ``, `% ',` +' или `- ', как описано в разделе« Рабочие места ».

bindkey [-l | -d | -e | -v | -u] (+)
bindkey [-a] [-b] [-k] [-r] [-] (+)

bindkey [-a] [-b] [-k] [-c | -s] [-] команда клавиш (+)
Без параметров первая форма перечисляет все связанные ключи и команду редактора, к которой привязана каждая, вторая форма перечисляет команду редактора, к которой привязан ключ, и третья форма связывает команду команды редактора с ключом. Варианты включают:

-l
Перечисляет все команды редактора и краткое описание каждого из них.
-d
Привязывает все ключи к стандартным связям для редактора по умолчанию.
-e
Привязывает все ключи к стандартным связям с GNU Emacs.
-v
Привязывает все ключи к стандартным связям vi (1).
-a
Перечисляет или меняет привязки клавиш на альтернативной карте ключей. Это ключевая карта, используемая в режиме командной строки vi.
-b
(например, `^ A ') или C-символ (например,` C-A'), метасимвольный символ M-символов (например, `M-A '), a функциональная клавиша, записанная F-строка (например, «F-строка»), или расширенный ключ префикса, написанный символом X (например, «X-A»).
-k
ключ интерпретируется как символическое имя клавиши стрелки, которое может быть одним из «вниз», «вверх», «слева» или «справа».

Удаляет привязку ключа. Будьте осторожны: `bindkey -r 'не связывает ключ с self-insert-command (q.v.), он полностью отключает ключ.

команда интерпретируется как встроенная или внешняя команда вместо команды редактора.
-s
команда берется как буквальная строка и обрабатывается как вход терминала при вводе ключа. Связанные ключи в команде сами интерпретируются, и это продолжается для десяти уровней интерпретации.
-
Вызывает перерыв в обработке параметров, поэтому следующее слово считается ключевым, даже если оно начинается с «-».
-u (или любой недопустимый вариант)
Распечатывает сообщение об использовании.

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

Управляющие символы в ключе могут быть буквальными (их можно ввести, указав перед ними команду редактора quote quoted-insert, обычно привязанную к `^ V ') или написанный стиль символа каретки, например,` ^ A'. Удалить написано `^? ' (знак-вопросительный знак). ключ и команда могут содержать обратные слэш-последовательности (в стиле System V echo (1)) следующим образом:

\колокольчик
\ б
возврат на одну позицию
\ е
Побег
\ е
Подача формы
\ п
Новая линия

Возврат каретки
\ т
Горизонтальная вкладка
\ v
Вертикальная вкладка
\ NNN
Символ ASCII, соответствующий восьмеричному номеру nnn

`\ 'аннулирует особый смысл следующего символа, если он имеет какие-либо, особенно` \' и `^ '.

bs2cmd bs2000-команда (+)
Передает команду bs2000 команде интерпретатора команд BS2000 для выполнения. Могут выполняться только неинтерактивные команды, и невозможно выполнить любую команду, которая накладывает изображение текущего процесса, например / EXECUTE или / CALL-PROCEDURE. (Только для BS2000)
ломать
Запускает выполнение для возобновления после окончания ближайшего окружения foreach или while. Остальные команды в текущей строке выполняются. Таким образом, возможны многоуровневые разрывы, записывая их на одной строке.
breaksw
Вызывает перерыв от переключателя, возобновляющийся после окончания.
встроенные (+)
Распечатывает имена всех встроенных команд.
bye (+)
Синоним встроенной команды выхода из системы. Доступно только в том случае, если оболочка была скомпилирована; см. переменную оболочки версии.
метка корпуса:
Метка в инструкции коммутатора, как описано ниже.
cd [-p] [-l] [-n | -v] [имя]
Если задано имя каталога, изменяется имя рабочего каталога оболочки. Если нет, изменения в доме. Если имя `- ', оно интерпретируется как предыдущий рабочий каталог (см. Другие подстановки). (+) Если имя не является подкаталогом текущего каталога (и не начинается с `/ ',` ./' или `../ '), каждый компонент переменной cdpath проверяется, есть ли у него подкаталог имя. Наконец, если все остальное не удается, но имя - это переменная оболочки, значение которой начинается с `/ ', тогда это пытается увидеть, является ли это каталогом.

С -p выводит окончательный стек каталогов, как и у dirs. Флаги -l, -n и -v оказывают такое же влияние на cd, что и на dirs, и они подразумевают -p. (+)

См. Также переменную оболочки implicitcd.

ChDir
Синоним для встроенной команды cd.
complete [command [word / pattern / list [: select] / [[suffix] /] ...]] (+)
Без аргументов перечислены все доработки. С помощью команды, списки завершения для команды. С помощью команды и слова и т. Д. Определяет доработки.

команда может быть полным именем команды или шаблоном glob (см. замену имен файлов). Он может начинаться с символа `- ', чтобы указать, что завершение должно использоваться только тогда, когда команда неоднозначна.

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

с
Выполнение текущего слова. pattern - это шаблон glob, который должен соответствовать началу текущего слова в командной строке. шаблон игнорируется при заполнении текущего слова.
С
Как и c, но включает шаблон при заполнении текущего слова.
N
Завершение следующего слова. pattern - это шаблон glob, который должен соответствовать началу предыдущего слова в командной строке.
N
Как и n, но должно совпадать с началом слова два перед текущим словом.
п
Завершение позиции. pattern - это числовой диапазон, с тем же синтаксисом, который используется для индексации переменных оболочки, который должен включать текущее слово.

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


Псевдонимы
б
Привязки (команды редактора)
с
Команды (встроенные или внешние команды)
С
Внешние команды, начинающиеся с заданного префикса пути
d
Справочники
D
Каталоги, которые начинаются с поставленного префикса пути
е
Переменные среды
е
Имена файлов
F
Имена файлов, начинающиеся с заданного префикса пути
г
названия групп
J
работы
L
рамки
N
Ничего
s
Обозначения оболочки
S
сигналы
T
Обычные (`` text '') файлы
T
Обычные (`` text '') файлы, которые начинаются с указанного префикса пути
v
Любые переменные
U
Usernames
Икс
Как и n, но отпечатки выбирают, когда используются списки.
Икс
Пополнения
$ вар
Слова из переменной var
(...)
Слова из данного списка
`...`
Слова с вывода команды

select - необязательный шаблон glob. Если дано, учитываются слова только из списка, которые соответствуют выбору, и переменная оболочки fignore игнорируется. Последние три типа завершения могут не иметь шаблона выбора, а х использует select в качестве пояснительного сообщения, когда используется команда редактора списка.

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

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

> полный cd 'p / 1 / d /'

завершает только первое слово, следующее за `cd '(` p / 1') с каталогом. Выполнение p-type также может использоваться для сужения завершения команды:

> co [^ D]
полный компресс
> complete -co * 'p / 0 / (compress) /'
> co [^ D]
> сжать

Это завершение завершает команды (слова в позиции 0, `p / 0 '), которые начинаются с` co' (таким образом, сопоставляя `co * ') с` compress' (единственное слово в списке). Ведущий `- 'указывает, что это завершение должно использоваться только с двусмысленными командами.

> complete find 'n / -user / u /'

является примером завершения n-типа. Любое слово «find» и сразу после «-user» завершено из списка пользователей.

> полный cc 'c / -I / d /'

демонстрирует завершение c-типа. Любое слово, следующее за `cc 'и начинающееся с` -I', завершается как каталог. `-I 'не принимается как часть каталога, потому что мы использовали строчный код c.

Различные списки полезны для разных команд.

> полный псевдоним 'p / 1 / a /'
> полный человек 'p / * / c /'
> полный набор 'p / 1 / s /'
> complete true 'p / 1 / x: У правды нет вариантов. /'

Эти полные слова, следующие за «псевдонимами» с псевдонимами, «человек» с командами и «набор» с переменными оболочки. `true 'не имеет никаких параметров, поэтому x ничего не делает при попытке завершения и печатает` Truth не имеет параметров.' когда перечислены варианты завершения.

Обратите внимание, что пример человека и несколько других примеров ниже могли бы также использовать «c / *» или «n / *» как «p / *».

Слова могут быть заполнены из переменной, оцененной во время завершения,

> complete ftp 'p / 1 / $ hostnames /'
> set hostnames = (rtfm.mit.edu tesla.ee.cornell.edu)
> ftp [^ D]
rtfm.mit.edu tesla.ee.cornell.edu
> ftp [^ C]
> set hostnames = (rtfm.mit.edu tesla.ee.cornell.edu uunet.uu.net)
> ftp [^ D]
rtfm.mit.edu tesla.ee.cornell.edu uunet.uu.net

или из командной строки во время завершения:

> complete kill 'p / * / `ps | awk \ {print \ \ $ 1 \} `/ '
> kill -9 [^ D]
23113 23377 23380 23406 23429 23529 23530 PID

Обратите внимание, что полная команда сама не цитирует свои аргументы, поэтому скобки, пробел и `$ 'в` {print $ 1}' должны быть указаны явно.

Одна команда может иметь несколько завершений:

> полный dbx 'p / 2 / (core) /' 'p / * / c /'

завершает второй аргумент `dbx 'словом« core »и всеми другими аргументами с командами. Обратите внимание, что позиционное завершение задается до завершения следующего слова. Поскольку доработки оцениваются слева направо, если сначала было задано завершение следующего слова, оно всегда будет соответствовать, и позиционное завершение никогда не будет выполнено. Это обычная ошибка при определении завершения.

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

> complete cc 'p / * / f: *. [cao] /'

завершает аргументы `cc 'для файлов, заканчивающихся только` .c', `.a 'или` .o'. select также может исключать файлы, используя отрицание шаблона glob, как описано в подмене Fileename. Можно было бы использовать

> полный rm 'p / * / f: ^ *. {c, h, cc, C, tex, 1, man, l, y} /'

чтобы исключить ценный исходный код из «rm». Конечно, все же можно было бы ввести исключенные имена вручную или переопределить механизм завершения, используя команды полного слова-raw или list-choice-raw editor (q.v.).

Списки `C ',` D', `F 'и` T' похожи на `c ',` d', `f 'и` t' соответственно, но они используют аргумент select по-другому: для ограничения завершения к файлам, начинающимся с определенного префикса пути. Например, почтовая программа Elm использует `= 'в качестве аббревиатуры для своего почтового каталога. Можно было бы использовать

> полный elm c @ = @ F: $ HOME / Mail / @

для завершения `elm -f = ', как если бы это было` elm -f ~ / Mail /'. Обратите внимание, что мы использовали `@ 'вместо` /', чтобы избежать путаницы с аргументом select, и мы использовали `$ HOME 'вместо` ~', потому что замена в домашнем каталоге работает только с началом слова.

суффикс используется для добавления нестандартного суффикса (не пробела или `/ 'для каталогов) к завершенным словам.

> полный палец 'c / * @ / $ hostnames /' 'p / 1 / u / @'

завершает аргументы «finger» из списка пользователей, добавляет «@», а затем завершается после «@» из переменной «hostnames». Еще раз обратите внимание на порядок, в котором указаны пополнения.

Наконец, вот сложный пример для вдохновения:

> полный поиск \
'n / -name / f /' 'n / -newer / f /' 'n / - {, n} cpio / f /' \
'n / -exec / c /' 'n / -ok / c /' 'n / -user / u /' \
'n / -группа / g /' 'n / -fstype / (nfs 4.2) /' \
'n / -тип / (b c d f l p s) /' \
'c / - / (name newer cpio ncpio exec ok user \
группа fstype type atime ctime depth inum \
ls mtime nogroup nouser perm print prune \
размер xdev) / '\
'Р / * / д /'

Это завершает слова, следующие за следующими словами: «-name», «-newer», «-cpio» или «ncpio» (обратите внимание на шаблон, который соответствует обоим), на файлы, слова, следующие за командами «-exec» или «-ok», user 'и `group' для пользователей и групп соответственно и слов, следующих за` -fstype 'или `-type' членам этих списков. Он также завершает сами переключатели из данного списка (обратите внимание на использование слияния типа c) и завершает все, что не завершено в каталог. Уф.

Помните, что запрограммированные завершения игнорируются, если заполняемое слово является подстановкой тильды (начиная с `~ ') или переменной (начиная с` $'). complete - экспериментальная функция, и синтаксис может измениться в будущих версиях оболочки. См. Также незавершенную встроенную команду.

Продолжать
Продолжает выполнение ближайшего приложения while или foreach. Остальные команды в текущей строке выполняются.
по умолчанию:
Обозначает случай по умолчанию в инструкции switch. Он должен появиться после всех ярлыков.

dirs [-l] [-n | -v]
dirs -S | -L [имя_файла] (+)

dirs -c (+)
Первая форма печатает стек каталога. Верх стека находится слева, а первый каталог в стеке - это текущий каталог. При использовании -l, `~ 'или` ~ name' в выводе явно указывается на дом или путь к домашнему каталогу для имени пользователя. (+) С -n записи завертываются до того, как они достигают края экрана. (+) С -v, записи печатаются по одному на строку, перед которыми расположены позиции стека. (+) Если задано более одного -n или -v, -v имеет приоритет. -p принимается, но ничего не делает.

С -S вторая форма сохраняет стек каталога в filename как последовательность команд cd и pushd. С -L - имя файла shell, имя которого, по-видимому, является файлом стека каталога, сохраненным параметром -S или механизмом savedirs. В любом случае dirsfile используется, если имя файла не указано, а ~ / .cshdirs используется, если dirsfile не установлен.

Обратите внимание, что при запуске в качестве входных оболочек выполняются эквиваленты `dirs -L ', и, если для них выбрано savedirs,` dirs -S' перед выходом. Поскольку обычно ~ / .tcshrc обычно используется до ~ / .cshdirs, dirsfile должен быть установлен в ~ / .tcshrc, а не ~ / .login.

Последняя форма очищает стек каталога.

echo [-n] word ...
Записывает каждое слово в стандартный вывод оболочки, разделяя пробелы и заканчивая новой строкой. Переменная оболочки echo_style может быть настроена на эмулирование (или нет) флагов и escape-последовательностей версий эхо-сигнала BSD и / или System V; см. эхо (1).
echotc [-sv] arg ... (+)
Управляет возможностями терминала (см. Termcap (5)) в args. Например, «echotc home» отправляет курсор в исходное положение, «echotc cm 3 10» отправляет его в столбец 3 и строку 10 и «echotc ts 0; echo "Это тест."; echotc fs 'prints "Это тест". в строке состояния.

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

> set history = `echotc lines`
> @ history--

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

> set tosl = "` echotc ts 0` "
> set frsl = "` echotc fs` "
> echo -n "$ tosl"; date; echo -n "$ frsl"

С -s, несуществующие возможности возвращают пустую строку, а не вызывают ошибку. С -v сообщения являются подробными.

еще
конец
ENDIF

endsw
См. Описание инструкций foreach, if, switch и while ниже.
eval arg ...
Рассматривает аргументы как ввод в оболочку и выполняет результирующие команды в контексте текущей оболочки. Обычно это используется для выполнения команд, сгенерированных в результате замены команды или переменной, поскольку синтаксический анализ происходит до этих подстановок. См. Tset (1) для выборочного использования eval.
команда exec
Выполняет указанную команду вместо текущей оболочки.
exit [expr]
Оболочка выходит либо со значением указанного выражения expr (выражение, как описано в разделе «Выражения»), либо без выражения expr со значением переменной состояния.
fg [% job ...]
Приводит заданные задания (или, без аргументов, текущее задание) на передний план, продолжая каждый, если он остановлен. job может быть числом, строкой, ``, `% ',` +' или `- ', как описано в разделе« Рабочие места ». См. Также команду редактора run-fg-editor.
filetest -op file ... (+)
Применяет op (который является оператором запроса файла, как описано в Операторах поиска файлов) для каждого файла и возвращает результаты в виде списка, разделенного пробелом.

имя foreach (список слов)
...

конец
Последовательно присваивает имя переменной каждому члену списка слов и выполняет последовательность команд между этой командой и совпадающим концом. (Оба типа foreach и end должны появляться отдельно на отдельных строках.) Встроенная команда continue может использоваться для продолжения цикла преждевременно, а встроенная команда прерывается, чтобы прервать ее преждевременно. Когда эта команда считывается с терминала, цикл читается после запроса с помощью `foreach? '(или prompt2) перед выполнением любых операторов цикла. Если вы допустили ошибку, набрав в цикле на терминале, вы можете вытереть ее.
getpath (+)
Распечатывает путь выполнения системы. (Только TCF)
getxvers (+)
Распечатывает префикс экспериментальной версии. (Только TCF)
glob wordlist
Подобно echo, но никаких escape-символов `\ 'не распознаются, а слова ограничены нулевыми символами на выходе. Полезно для программ, которые хотят использовать оболочку для имени файла, расширить список слов.
goto word
word - имя файла и команда - подставляются, чтобы получить строку формы `label '. Оболочка перематывает свой вход как можно больше, ищет строку формы «label:», возможно, которой предшествуют пробелы или вкладки, и продолжает выполнение после этой строки.

hashstat
Распечатывает строку статистики, указывающую, насколько эффективна внутренняя таблица хеш-файла при определении команд (и исключение exec). Выполняется попытка exec для каждого компонента пути, где хеш-функция указывает на возможный удар, и в каждом компоненте, который не начинается с `/ '.
На машинах без vfork (2) выводится только количество и размер хэш-ковшей.

история [-hTr] [n]
история -S | -L | -M [имя_файла] (+)

history -c (+)
Первая форма печатает список событий истории. Если n задано, выводится или сохраняется только n самых последних событий. С -h список истории печатается без ведущих номеров. Если указано -T, отметки времени печатаются также в форме комментариев. (Это можно использовать для создания файлов, подходящих для загрузки с помощью «history -L» или «source -h».) С -r порядок печати сначала является первым, а не самым старым.

С -S вторая форма сохраняет список истории в имени файла. Если в первом слове переменной оболочки savehist задано число, самое большее, что многие строки сохраняются. Если для второго слова savehist установлено значение «merge», список истории объединяется с существующим файлом истории вместо его замены (если есть) и сортируется по метке времени. (+) Слияние предназначено для такой среды, как X Window System, с несколькими ракетами при одновременном использовании. В настоящее время он преуспевает только тогда, когда оболочки прекрасны друг за другом.

С -L оболочка добавляет имя файла, которое, по-видимому, является списком истории, сохраненным параметром -S или механизмом savehist, в список истории. -M похож на -L, но содержимое имени файла сливается в список истории и сортируется по метке времени. В любом случае файл histfile используется, если имя файла не задано, а ~ / .history используется, если файл histfile не установлен. `history -L 'в точности похож на' source -h ', за исключением того, что для него не требуется имя файла.

Обратите внимание, что при запуске в качестве входных оболочек выполняются эквиваленты `history -L ', и, если savehist установлен,` history -S' перед выходом. Поскольку только ~ / .tcshrc обычно используется до ~ / .history, файл hist должен быть установлен в ~ / .tcshrc, а не ~ / .login.

Если задано значение histlit, первая и вторая формы печатают и сохраняют литеральную (нерасширенную) форму списка истории.

Последняя форма очищает список истории.

hup [команда] (+)
С командой запускает команду, чтобы она выходила из сигнала зависания и устраивала для оболочки отправку сигнала зависания при выходе оболочки. Обратите внимание, что команды могут устанавливать свой собственный ответ на зависания, переопределяя hup. Без аргумента (разрешено только в сценарии оболочки), заставляет оболочку выйти из зависания для остальной части скрипта. См. Также Обработка сигналов и команда nohup builtin.
if (expr) команда
Если выражение (выражение, как описано в разделе «Выражения») оценивает значение «Истина», выполняется команда. Перестановка переменных в команде происходит раньше, в то же время она выполняется для остальной команды if. команда должна быть простой командой, а не псевдонимом, конвейером, списком команд или списком команд в скобках, но может иметь аргументы. Перенаправление ввода / вывода происходит, даже если expr имеет значение false, и команда, таким образом, не выполняется; это ошибка.

if (expr), тогда
...
else if (expr2) then
...
еще
...

ENDIF
Если указанное выражение истинно, тогда выполняются команды для первого else; в противном случае, если expr2 истинно, тогда выполняются команды ко второму другому и т. д. Возможны любые пары else-if; требуется только один endif. Другая часть также необязательна. (Слова else и endif должны появляться в начале строк ввода, а если они должны появляться отдельно в строке ввода или после else.)
inlib shared-library ... (+)
Добавляет каждую общую библиотеку в текущую среду. Невозможно удалить общую библиотеку. (Только для домена / ОС)
рабочие места [-l]
Перечисляет активные задания. С -l перечисляет идентификаторы процессов в дополнение к обычной информации. В TCF-системах печатает сайт, на котором выполняется каждое задание.

kill [-s signal]% job | pid ...
kill -l
Первая и вторая формы отправляют указанный сигнал (или, если ни один не указан, сигнал TERM (завершение)) к указанным заданиям или процессам. job может быть числом, строкой, ``, `% ',` +' или `- ', как описано в разделе« Рабочие места ». Сигналы либо задаются по числу, либо по имени (как указано в /usr/include/signal.h, лишен префикса `SIG '). Работа по умолчанию отсутствует; говоря, что «kill» не посылает сигнал текущему заданию. Если посылаемый сигнал - TERM (завершение) или HUP (зависание), то задание или процесс отправляется также сигнал CONT (продолжение). В третьей форме перечислены имена сигналов.

limit [-h] [ресурс [максимальное использование]]
Ограничивает потребление текущим процессом и каждым процессом, который он создает, чтобы индивидуально не превышать максимальное использование на указанном ресурсе. Если максимальное использование не указано, тогда печатается текущий предел; если ресурс не задан, тогда даются все ограничения. Если задан флаг -h, вместо текущих ограничений используются жесткие лимиты. Жесткие лимиты налагают потолок на значения текущих пределов. Только суперпользователь может поднять жесткие ограничения, но пользователь может снизить или увеличить текущие пределы в пределах правового диапазона.

Контролируемые ресурсы в настоящее время включают (если поддерживается ОС):

cputime
максимальное количество процессорных секунд, которое будет использоваться каждым процессом
размер файла
самый большой один файл, который можно создать
DataSize
максимальный рост области данных + стек через sbrk (2) за пределами текста программы
STACKSIZE
максимальный размер области с расширенным стеком автоматически
coredumpsize
размер самого большого дампа ядра, который будет создан
memoryuse
максимальный объем физической памяти, который может быть выделен ему процессом в данный момент времени
heapsize
максимальный объем памяти, который может распределить процесс на каждый вызов brk ()
дескрипторы или открытые файлы
максимальное количество открытых файлов для этого процесса
совпадение
максимальное количество потоков для этого процесса
memorylocked
максимальный размер, который процесс может блокировать в памяти с помощью mlock (2)
maxproc
максимальное количество одновременных процессов для этого идентификатора пользователя

Остальная часть материала не вместилась из-за ограничений ucoz - третья часть мануала

Категория: (1) Прикладные программы и команды оболочки | Просмотров: 492 | Добавил: Администратор | Рейтинг: 0.0/0
Всего комментариев: 0
avatar