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

Например, чтобы напечатать одну копию файла с именем
memo, введите:

lp memo

Вы можете отправить на печать несколько файлов. Напри-
мер, чтобы напечатать файлы memo, report и letter, вве-
дите:

lp memo report letter

Когда вы делаете запрос на печать, lp в ответ выводит
на экран вашего терминала идентификатор вашего запроса.
Он может, например, выглядеть так:



- 52 -

pr4-532

Первая часть ("pr4") - это имя принтера, на котором ваш
файл будет печататься. Вторая часть ("232") идентифици-
рует ваш файл. Если вы позже захотите отменить запрос
на печать или проверить, в каком состоянии он нахо-
дится, то вам бы надо запомнить этот идентификатор зап-
роса. Подробнее это описано в разделах 4.12.3, "Отмена
запроса на печать", и 4.12.4, "Как узнать состояние
запроса на печать:lpstat".

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

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

pr textfile | lp

Чтобы отсортировать, разбить на страницы и напечатать
файл datafile, введите:

sort datafile | pr | lp

4.12.2. Как пользоваться ключами lp

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

С помощью ключа количества, -n, вы можете указать,
сколько копий вы хотите напечатать. Например, чтобы
напечатать две копии файла с именем report, введите:

lp report -n2

Другой ключ, -d, задает место назначения вашего запроса
на печать, т.е. принтер, на котором должен быть напеча-
тан ваш файл. знайте у администратора системы, какие
принтеры вам доступны. Чтобы напечатать две копии файла
с именем report на принтере quick, введите:

lp report -n2 -dquick

Другие полезные ключи:

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

- 53 -

-m Отправить вам почту с сообщением, что ваш файл
напечатан.

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

-r Удалить файлы после печати.

Подробнее ключи команды lp описаны в Справочном руко-
водстве XENIX в разделе lp(C).

4.12.3. Как отменить запрос на печать: cancel

Вы можете отменить запрос на печать. Например, чтобы
отменить печать файла с идентификатором запроса laser-
245, введите:

cancel laser-245

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

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

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

cancel slow

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

4.12.4. Как узнать состояние запроса на печать:
lpstat

Чтобы выяснить, в каком состоянии находятся ваши файлы,
ожидающие печати, введите:

lpstat

lpstat выведет нечто подобное следующему:


- 54 -

__________________________________________
| prt1-121 chrisw 450 Dec 15 09:30|
| laser-450 chrisw 4968 Dec 15 09:46|
| |
| |
|_________________________________________|


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

Чтобы выяснить состояние конкретного файла, воспользуй-
тесь командой lpstat с идентификатором вашего запроса.
Например, чтобы выяснить, в каком состоянии находится
файл с идентификатором запроса на печать daisy-256,
введите:

lpstat daisy-256

lpstat выведет состояние только этого запроса на
печать.

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

Чтобы узнать, в каком состоянии находятся все принтеры
вашей системы, введите:

lpstat -p

Чтобы узнать, в каком состоянии находится принтер с
именем quick, введите:

lpstat -pquick

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

Более подробно команда lpstat и ее ключи описываются в
Справочном руководстве XENIX в разделе lpstat(C).



- 55 -

4.13. Связь с другими пользователями

Так как в системе XENIX поддерживается многопользова-
тельский режим, с другими пользователями системы очень
удобно связываться. Ниже описаны различные способы
связи.

4.13.1. Отправка почты

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

mail joe

где joe - это имя любого пользователя системы. После
команды введите текст сообщения, которое вы хотите пос-
лать. Ввод текста завершается нажатием trl-d.

Целиком сеанс работы с почтой на вашем терминале мог бы
выглядеть, например, так:

mail -s "Cобрание сегодня" joe
Сегодня в 2:00 будет собрание
по поводу недавних проблем
с новой системой. Ctrl-d

Обратите внимание на использование ключа -s для задания
темы сообщения.

Потренируйтесь, отправив почту себе. (Это не так
странно, как может показаться на первый взгляд - почта
самому себе представляет собой удобный способ напомина-
ния о чем-либо.) Вы можете также переслать предвари-
тельно подготовленное письмо, и можете послать почту
нескольким людям одновременно. Подробности см. в Главе
3, "Почта", Руководства пользователя XENIX и в разделе
mail(C) в Справочном руководстве XENIX.

4.13.2. Получение почты

Когда вы входите в систему, вы иногда можете получать
сообщение:

You have mail
(Вам пришла почта)

Чтобы прочитать пришедшую почту, введите:

mail

- 56 -

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

После того, как выводится каждое сообщение, mail ждет,
что вы укажете, что делать с этим сообщением. В
качестве ответа в основном нажать одну из двух клавиш:
'd', нажав которую, вы удалите сообщение, и RETURN,
нажатием которой сообщение не удаляется (то есть, когда
вы в следующий раз будете просматривать свой почтовый
ящик, это сообщение будет по-прежнему там). Чтобы прек-
ратить сеанс работы с почтой, нажмите 'q'. Другие вари-
анты ответов см. в Справчоном руководстве XENIX в раз-
деле mail(C).

4.13.3. Передача сообщения на терминал

Чтобы вывести сообщение непосредственно на терминал
другого пользователя, используйте команду write. Напри-
мер, чтобы вывести сообщение на терминал пользователя
joe, введите:

write joe

После того, как вы запустили команду, нажав RETURN, все
последующие вводимые вами строки выводятся и на экран
вашего терминала и на экран терминала пользователя joe.
Чтобы прекратить передавать текст на другой терминал,
нажмите на новой строке Ctrl-d.

При двустороннем обмене сообщениями каждой стороне
рекомендуется оканчивать каждое сообщение ясным разли-
чимым сигналом, обычно 'o' (означающим "over" - закон-
чено); когда обмен сообщениями предполагается прекра-
тить, используйте сигнал "oo" (означающий "over and
out").

4.14. Как пользоваться системными часами и календа-
рем

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


- 57 -

4.14.1. Как узнать дату и время

Команда date выводит дату и время. Введите:

date

Будут выведены дата и время.

4.14.2. Как вывести календарь

Команда cal выводит календарь любого заданного вами
месяца или года. Эта команда имеет формат:

cal месяц год

Например, чтобы вывести календарь на март 1952 года,
введите:

cal 3 1952

Результат:
March 1952

S M Tu W Th F S
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31


Месяц всегда выражается цифрой. Чтобы вывести календарь
на весь год, не указывайте в команде месяц. Год надо
всегда указывать целиком; команда "cal 85" выведет
календарь не на 1985 год, а на 85 год.

4.15. Как пользоваться автоматической записной книж-
кой

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

1/23 Свадьба Петра Давидовича

2/9 Машин день рождения

3/30 День рождения И.О.Загогулько

- 58 -

4/27 В 2:00 собрание

9/1 День рождения Кати

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

4.16. Доступ к учетным структурам других пользовате-
лей

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

Например, чтобы стать пользователем joe, введите:

su joe

и нажмите RETURN. Когда появляется приглашение на ввод
пароля, введите пароль этого пользователя. Чтобы отме-
нить действие команды su и вернуться в вашу собственную
учетную структуру, нажмите Ctrl-D.

4.17. Калькулятор

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

/* Это комментарий */
123.456789 + 987.654321 /* Сложить и вывести */
1111.111110
9.0000000 - 9.0000001 /* Вычесть и вывести */
-.0000001
64/8 /* Разделить и вывести */
8
1.12345678934 * 2.3
/* Обратите внимание на точность */
2.58395061548
19%4 /* Найти остаток */
3
3^4 /* Возведение в степень */
81
2/1*2 /* Заметьте последовательность*/
4
2/(1*2) /* Опять заметьте последовательность */
1


- 59 -

x = 46.5 /* Присвоить значение x*/
y = 52.5 /* Присвоить значение y*/
x + y + 1.0000 /* Сложить и вывести */
100.0000
obase=16 /* Установить 16-ричное основание счисле-
ния*/
15 /* Преобразовать к 16-ричному виду */
F
16 /* Преобразовать к 16-ричному виду */
10
64 /* Преобразовать к 16-ричному виду */
40
255 /* Преобразовать к 16-ричному виду */
FF
256 /* Преобразовать к 16-ричному виду */
100
512 /* Преобразовать к 16-ричному виду */
200
quit /* Надо набрать слово целиком */

Кроме этого, доступно масштабирование, определение
функций и операторы во многом похожие на соответствую-
щие средства языка Си. Можно присваивать значения име-
нованным регистрам и осуществлять вызов подпрограмм.
Дополнительная информация по этому вопросу дана в Главе
5, "bc: Калькулятор", Руководства пользователя XENIX.





- 60 -

СОДЕРЖАНИЕ



1. Введение ..................................... 1
1.1. Обзор ...................................... 1
1.2. Система XENIX .............................. 1
1.3. Рабочее окружение системы XENIX ............ 1
1.4. Об этом руководстве ........................ 3

2. Демонстрационный ............................. 4
2.1. Введение ................................... 4
2.2. Перед тем, как вы войдете в систему ........ 4
2.3. Вход в систему ............................. 4
2.4. Ввод команд ................................ 5
2.5. Ошибки при наборе .......................... 7
2.6. Чтение с опережением и ввод с опережением .. 8
2.7. Странное поведение терминала ............... 8
2.8. Остановка программы ........................ 8
2.9. Выход из системы ........................... 9

3. Введение ..................................... 9
3.1. Файлы ...................................... 9
3.1.1. Обычные файлы ............................ 9
3.1.2. Специальные файлы ........................ 10
3.1.3. Файлы-каталоги ........................... 10
3.1.4. Структура каталога ....................... 11
3.2. Файловые системы ........................... 12
3.3. Соглашения по присвоению имен .............. 13
3.3.1. Имена файлов ............................. 13
3.3.2. Полные имена файлов ...................... 13
3.3.3. Примеры имен файлов ...................... 14
3.3.4. Специальные символы ...................... 15
3.4. Команды .................................... 18
3.4.1. Командная строка ......................... 18
3.4.2. Формат ................................... 19
3.5. Ввод и вывод ............................... 20
3.5.1. Перенаправление .......................... 21
3.5.2. Межпроцессные каналы ..................... 22

4. Задачи ....................................... 23
4.1. Введение ................................... 23
4.2. Получение доступа к системе ................ 23
4.2.1. Вход в систему ........................... 23
4.2.2. Выход из системы ......................... 24
4.2.3. Изменение пароля ......................... 25
4.3. Установка конфигурации вашего терминала .... 26
4.3.1. Смена терминала .......................... 26
4.3.2. Установка параметров терминала ........... 27
4.4. Редактирование командной строки ............ 27
4.4.1. Ввод командной строки .................... 27
4.4.2. Удаление командной строки ................ 27
4.4.3. Приостановка вывода на экран ............. 27


- 61 -

4.5. Работа с файлами ........................... 28
4.5.1. Создание файла ........................... 28
4.5.2. Вывод содержимого файла .................. 28
4.5.3. Объединение файлов ....................... 30
4.5.4. Перемещение файлов ....................... 31
4.5.5. Переименование файла ..................... 31
4.5.6. Копирование файла ........................ 32
4.5.7. Удаление файла ........................... 32
4.5.8. Поиск файлов ............................. 33
4.5.9. Связывание одного файла с другим (файлы-
ссылки) .................................. 33
4.6. Операции с каталогами ...................... 34
4.6.1. Вывод имени вашего рабочего каталога ..... 35
4.6.2. Вывод содержимого каталога ............... 35
4.6.3. Создание каталога ........................ 37
4.6.4. Удаление каталога ........................ 37
4.6.5. Переименование каталога .................. 37
4.6.6. Перемещение каталога ..................... 37
4.7. Перемещение по файловой системе ............ 38
4.7.1. Определение местоположения ............... 38
4.7.2. Смена рабочего каталога .................. 39
4.8. Использование кодов доступа файла и ката-
лога ....................................... 39
4.8.1. Изменение кодов доступа .................. 42
4.8.2. Изменение полномочий на просмотр ката-
лога ..................................... 43
4.9. Обработка информации ....................... 43
4.9.1. Сравнивание файлов ....................... 44
4.9.2. Отображение аргументов ................... 44
4.9.3. Сортировка файла ......................... 45
4.9.4. Поиск образца в файле .................... 45
4.9.5. Подсчет слов, строк и символов ........... 46
4.9.6. Установка времени выполнения команды ..... 47
4.10. Управление процессами ...................... 48
4.10.1. Запуск процесса в фоновом режиме ......... 48
4.10.2. Как остановить процесс ................... 49
4.11. Получение информации о статусе ............. 50
4.11.1. Кто работает в системе ................... 50
4.11.2. Какие процессы выполняются ............... 50
4.11.3. Получение информации о принтере .......... 51
4.12. Как пользоваться принтером ................. 52
4.12.1. Печать файлов: lp ........................ 52
4.12.2. Как пользоваться ключами lp .............. 53
4.12.3. Как отменить запрос на печать: cancel .... 54
4.12.4. Как узнать состояние запроса на печать:
lpstat ................................... 54
4.13. Связь с другими пользователями ............. 56
4.13.1. Отправка почты ........................... 56
4.13.2. Получение почты .......................... 56
4.13.3. Передача сообщения на терминал ........... 57
4.14. Как пользоваться системными часами и кален-
дарем ...................................... 57
4.14.1. Как узнать дату и время .................. 58


- 62 -

4.14.2. Как вывести календарь .................... 58
4.15. Как пользоваться автоматической записной
книжкой .................................... 58
4.16. Доступ к учетным структурам других пользова-
телей ...................................... 59
4.17. Калькулятор ................................ 59







- 63 -