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 -