Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Забродин УНИХ основы командного интерфейса 2010

.pdf
Скачиваний:
159
Добавлен:
16.08.2013
Размер:
1.33 Mб
Скачать

г) процедура proc перенаправляется в файл rez и запускается в фоновом режиме.

Вопрос 48. Какая команда (команды) может использоваться для получения характеристик процессов пользователя:

а) ps; б) mesg; в) id;

г) env; д) usage?

Вопрос 49. Как можно объяснить продолжение работы процедуры в фоновом режиме даже после прекращения пользователем сеанса работы с системой, если процедура была запущена следующим образом:

$ nohup proc & ?

а) приоритет фонового процесса процедуры пересчитывается на более высокий оперативный;

б) порождающим процессом процедуры становится процесс общесистемной программы init, независимой от конкретного shell;

в) вывод процедуры осуществляется вместо экрана в системный файл nohup.out, таким образом процедура становится независимой от консоли пользователя;

г) блокируются все прерывания с клавиатуры.

Вопрос 50. Что будет результатом выполнения следующей команды:

$ nice proc & ?

а) понижение приоритета фоновой proc на десять единиц; б) повышение приоритета фоновой proc на десять единиц; в) повышение приоритета фоновой proc на одну единицу; г) процедура nice запускается в фоновом режиме;

д) понижение приоритета фоновой proc на одну единицу.

181

СПИСОК РЕКОМЕНДУЕМОЙ ЛИТЕРАТУРЫ

1.Топхем Д., Чыонг Х.В. ЮНИКС и КСЕНИКС / Пер. с англ. М.: Мир,

1988.

2.Забродин Л.Д. UNIX. Введение в командный интерфейс. M: Диалог-

МИФИ, 1994.

3.Дунаев С. UNIX SYSTEM V. Общее руководство. М.: Диалог-

МИФИ, 1995.

4.Армстронг Д. Секреты UNIX. М.:Диалектика,2000.

5.Баурн С. Введение в операционную систему UNIX. М.: Мир, 1987.

6.Дайсон П. Операционная система UNIX: настольный справочник.

М.: ЛОРИ, 1997.

7.Соломенчук В. Linux. Краткий курс. СПб: Питер, 2001.

8.Ефанов Д.В., Мельников В.В., Никитин В.Д. Алгоритмы и структуры ядра Linux: Учебное пособие. М.: МИФИ, 2002.

9.МакМален Дж. UNIX / Пер. с англ. В.Л. Григорьева. М.: Компьютер,

ЮНИТИ, 1996.

182

Приложение 1

КРАТКИЙ СПРАВОЧНИК КОМАНД UNIX

Всправочник включены только те команды, которые изучаются

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

BG

bg – перевод задания в фоновый режим выполнения СИНТАКСИС

bg % — номер_ задания

ОПИСАНИЕ

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

Приостановить длительный оперативный процесс можно так: <Ctrl*Z>.

CAT

cat слияние и вывод файлов

СИНТАКСИС

cat [-u] [-s] [-v] [-t] [-e] файл...

ОПИСАНИЕ

Команда cat по очереди читает указанные файлы и выдает их содержимое на стандартный вывод.

Если не указан ни один файл, команда cat читает данные со стандартного ввода.

Опции команды cat имеют следующий смысл:

— вывод не буферируется (по умолчанию буферируется); -s — не сообщается о несуществующих файлах;

-v,t,e — визуализация печатью управляющих символов (кроме табуляций, переводов строк и переходов к новой странице).

CD

cd — смена текущего каталога

СИНТАКСИС cd [каталог]

ОПИСАНИЕ

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

183

ременной окружения $НОМЕ (обычно это каталог, в который вы попадаете сразу после входа в систему). Если каталог задан полным маршрутным именем, он становится текущим. Если маршрутное имя не полное, команда cd пытается найти каталог по одному из маршрутов, заданных переменной окружения $CDPATH. Способ задания и семантика этой переменной такие же, как у $РАТН. По отношению к новому каталогу нужно иметь право на выполнение, которое в данном случае трактуется как разрешение на поиск.

CHMOD

chmod — изменение режима доступа к файлам

СИНТАКСИС chmod режим файл ...

chmod режим каталог ...

ОПИСАНИЕ

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

Абсолютный вид — восьмеричное число, являющееся логическим "ИЛИ" режимов доступа, задаваемых единицами в соответствующих разрядах кода прав доступа.

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

тельностей, по три буквы в каждой:

 

Владелец

Группа

Прочие

(u)

(g)

(о)

rwx

rwx

rwx

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

[кому] операция права.

Часть кому есть комбинация букв u, g и о (владелец, члены группы и прочие пользователи соответственно). Если часть кому опущена или указано опция a, то это эквивалентно иgо.

184

Операция может быть: + (добавить право), - (лишить права), = (в пределах данного класса присвоить права абсолютно, т. е. добавить указанные права и отнять не указанные). Права — любая осмысленная комбинация следующих букв:

r — право на чтение; w — право на запись;

х — право на выполнение (поиск в каталоге);

s — право при выполнении переустанавливать действующий идентификатор пользователя или группы и пр.

СР

ср — копирование файлов

СИНТАКСИС

ср файл! [файл2 ...] целевой_файл

ОПИСАНИЕ

Команда ср копирует файл1 в целевой_файл. Файл1 не должен совпадать с целевым_файлом. Если целевой_файл является каталогом, то файл1, файл2,..., копируются в него под своими именами. Только в этом случае можно указывать несколько исходных файлов.

Если целевой_файл существует и не является каталогом, его старое содержимое теряется. Режим, владелец и группа целевого_файла при этом не меняются.

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

DATE

date — выдача и установка даты и времени

СИНТАКСИС

date [ммддччмм[гг]] [+формат] ОПИСАНИЕ

Если аргументы команды date не указаны или аргумент начинается со знака "+", выводятся текущие дата и время; иначе устанавливается текущая дата: первые мм — это номер месяца; дд — номер

185

дня в месяце; чч — номер часа (по 24-часовой шкале); вторые мм — номер минуты; гг — две последние цифры номера года (их указывать не обязательно).

ДИАГНОСТИКА

No permission — Вы не являетесь суперпользователем и пытаетесь изменить дату;

Bad conwersion — устанавливаемая дата синтаксически неверна; Bad format character — недопустимый описатель поля.

ENV

env — вывод значений переменных среды пользователя

СИНТАКСИС env

ОПИСАНИЕ

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

TERM, COLUMNS, LINES – параметры терминала (для правильного форматирования информации);

HOME – маршрутное имя начального каталога; PATH – путь поиска команд;

LOGNAME – входное имя пользователя; и др.

Некоторые из переменных устанавливаются для пользователя самой системой, другие устанавливаются явно в /etc/profile или

.profile.

FG

fg – перевод задания в оперативный режим выполнения

СИНТАКСИС fg % номер_ задания

ОПИСАНИЕ

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

FIND

find — поиск файлов

СИНТАКСИС

find список_поиска выражение

186

ОПИСАНИЕ

Команда find рекурсивно просматривает каждый каталог из перечисленных в списке_поиска, отыскивая файлы, удовлетворяющие логическому выражению, построенному с помощью описанных ниже средств. В список_поиска могут входить и обычные файлы. Далее n обозначает целое десятичное число, на месте которого могут также указываться комбинации +n, что означает "больше чем n", и -n, что означает "меньше чем п".

Элементарные логические выражения и их результаты:

-name шаблон_файлов — "истина", если текущий файл удовлетворяет шаблону_файлов. Символы шаблона, имеющие для shell специальный смысл, должны быть экранированы;

[-perm] [-]восъмеричное_число "истина", если режим доступа к текущему файлу в точности равен восьмеричному_числу. Если перед восъмеричным_числом указан знак "-", то для сравнения из режима файла берутся только биты, соответствующие битам вось-

меричного_числа, равным единице;

-type с — "истина", если тип файла с, где с есть b, с, d, p, или f — блочный или символьный специальный файл, каталог, именованный канал или обычный файл;

-links n — "истина", если на файл имеется n ссылок;

-user имя_полъзователя — "истина", если файл принадлежит пользователю с данным именем. Если имя_полъзователя является числом и не встречается в файле /etc/passwd, оно рассматривается как идентификатор пользователя;

-group имя_группы — "истина", если файл принадлежит группе с данным именем. Если имя_группы является числом и не встречается в файле /etc/group, оно рассматривается как идентификатор группы;

-size п[с] — "истина", если файл занимает n блоков (по 512 байт). Если указана буква с, то размер файла задается в символах. Напомним, что с помощью комбинаций -г-н и -n можно проверять размер (и три указанные ниже характеристики) не только на равенство, но и на неравенство;

-ехес команда — "истина", если после выполнения команды возвращается нулевой код завершения. Запись команды должна заканчиваться экранированной точкой с запятой. Аргумент ко-

187

манды {} заменяется текущим маршрутным именем файла

.(выражение).

"Истина", если истинно заключенное в скобки выражение (скобки должны быть экранированы от интерпретации shell). Элементарные логические выражения могут комбинироваться с помощью следующих операций (в порядке уменьшения приоритета):

1.Унарная операция отрицания, обозначается !.

2.Логическое "И", обозначается пробелом.

3.Логическое "ИЛИ", обозначается -о.

GREP

grep — поиск в файле шаблона, заданного ограниченным регулярным выражением

СИНТАКСИС

grер [опции] ограниченное_регулярное_выражение [файлы] ОПИСАНИЕ

Команда grep сопоставляет строки исходных файлов с шабло-

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

Для экранирования управляющих символов от интерпретации shell проще всего заключать ограниченное_регулярное_ выражение

в одинарные кавычки.

В командной строке могут задаваться следующие опции:

— выдавать только количество успешно сопоставленных строк;

-i — при сопоставлении не различать большие и малые буквы; -lвыдавать только имена файлов, в которых есть успешно со-

поставленные строки, разделяя имена переводами строк;

-n — перед каждой строкой ставить ее номер в файле (строки нумеруются с 1);

188

-s — подавить выдачу диагностических сообщений о несуществующих и недоступных для чтения файлах;

-v — выдавать только строки, не удовлетворяющие шаблону.

ID

id — вывод идентификаторов пользователя и его группы

СИНТАКСИС

id

ОПИСАНИЕ

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

Все идентификаторы хранятся в соответствующих двух файлах

- /etc/passwd и /etc/group.

Каждая группа разрешает доступ к разделяемым файлам. Группы формируются по профессиональному признаку.

JOBS

jobs — вывод списка выполняемых заданий

СИНТАКСИС jobs [-lp]

ОПИСАНИЕ

Команда без опций выводит список активных заданий – имена заданий и их номера.

Значение опций:

l — вместе с номером задания отображает и номер процесса; p — выводится идентификатор процесса.

KILL

kill — терминирование процесса

СИНТАКСИС

kill [-номер_сигнала] идентификатор_процесса...

ОПИСАНИЕ

По умолчанию команда kill посылает сигнал 15 (завершиться) процессу с указанным идентификатором. Таким способом обычно терминируют процесс, который не устанавливает стандартную реакцию на сигналы. Идентификаторы_процессов можно узнать по команде ps (в колонке PID). Идентификатор асинхронно запу-

189

щенного процесса сообщается shell в момент запуска (в случае конвейера сообщается только идентификатор последнего процесса). Терминируемый процесс должен принадлежать текущему пользователю, если последний не является суперпользователем. Если в качестве первого аргумента указан (с предшествующим знаком "-") номер_сигнала, то вместо сигнала 15 посылается его значение. Так, команда

kill -9 ...

завершает процесснаверняка, если, конечно, дляэтого хватаетправ.

LN

ln — создание ссылки на файл

СИНТАКСИС

^ ln [-f] фа-йл1 [файл2 ...] целевой _файл

ОПИСАНИЕ

Команда ln делает целевой_файл ссылкой на файл1. Файл1 не должен совпадать с целевым_файлом. Если целевой_файл является каталогом, то в нем создаются ссылки на файл1, файл2,... с теми же именами. Только в этом случае можно указывать несколько исходных файлов.

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

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

IS

Is — выдача информации о файлах или каталогах

СИНТАКСИС

Is [-RadCxrnlnogrtucpFbqisf] [имена]

190