Забродин УНИХ основы командного интерфейса 2010
.pdfг) процедура 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