working directory" (вывести рабочий ката- лог). Например, если ваш рабочий каталог /usr/joe, то когда вы введете: pwd вы получите: /usr/joe Вы всегда должны представлять себя "живущим" в вашем рабочем каталоге. 4.6.2. Вывод содержимого каталога Вы можете вывести содержимое каталога командой lc. Эта команда сортирует имена файлов и каталогов внутри заданного каталога, а затем выводит их. Если имя ката- лога не задано, lc выводит содержимое текущего ката- лога. Команда lc имеет следующий формат: lc ключи имя Например, чтобы вывести содержимое каталога work, вве- дите: lc work Вывод может выглядеть примерно так: accounts meetings notes mail memos todo Если имя не задано, lc выведет содержимое текущего каталога. Например, команда: lc выведет имена файлов и подкаталогов в этом каталоге. Следующие ключи управляют режимами вывода информации команды lc: -a Выводит все файлы в каталоге, включая "скрытые" файлы ( имена которых начинаются с точки, например .profile и .mailrc). -r Выводит имена в обратном алфавитном порядке. - 35 - -t Выводит имена файлов, упорядочивая их по дате изменения - сначала наиболее поздние (недавно изменялись). При использовании вместе с ключом -r сначала выводятся наиболее старые (давно не изме- нялись). -R Выводит все файлы и каталоги в текущем каталоге, плюс файлы и каталоги, которые стоят "ниже" по отношению к текущему. "R" означает "recursive" (рекурсивно). -F Помечает каталоги косой чертой ('/'), а выполняе- мые файлы звездочкой ('*'). Команда ls работает также, как и команда lc, за исклю- чением того, что список файлов выводится не в несколько столбцов, а в один. Команда ls -l выводит полный список содержимого каталога, который выглядит примерно так: total 501 drwxr-x--- 2 boris grp1 272 Apr 5 14:33 dir1 drwxr-x--- 2 enid grp1 272 Apr 5 14:33 dir2 drwxr-x--- 2 iris grp1 592 Apr 6 11:12 dir3 -rw-r----- 1 olaf grp2 282 Apr 7 15:11 file1 -rw-r----- 1 olaf grp2 72 Apr 7 13:50 file2 -rw-r----- 1 olaf grp2 1403 Apr 1 15:22 file3 Для каждого файла и каталога указана следующая информа- ция (слева направо): - Коды доступа - Число ссылок - Владелец - Группа - Размер в байтах - Время последнего изменения - Имя файла Про информацию из этого списка и о том, как изменять коды доступа, вы узнаете из раздела 4.8 "Использование кодов доступа файла и каталога". Более подробно вывод содержимого каталога описан в раз- деле ls(C) в Справочном руководстве XENIX. - 36 - 4.6.3. Создание каталога Для создания подкаталога в вашем рабочем каталоге используйте команду mkdir. Например, чтобы создать новый каталог с именем phonenumbers, просто введите: mkdir phonenumbers После выполнения этой команды в вашем рабочем каталоге будет существовать новый пустой каталог. 4.6.4. Удаление каталога Для удаления каталога, расположенного в вашем рабочем каталоге, используйте команду rmdir. Например, чтобы удалить каталог phonenumbers из текущего каталога, введите: rmdir phonenumbers Каталог phonenumbers должен быть пустым, для того, чтобы вы смогли его удалить; это предотвращает катаст- рофические удаления файлов и каталогов. Если вы хотите испытывать судьбу, то вы можете использовать рекурсив- ное удаление содержимого каталога с помощью команды rm, но здесь это описываться не будет. Для получения допол- нительной информации смотри раздел rm(C) в Справочном руководстве XENIX. 4.6.5. Переименование каталога Для переименования каталога используйте команду mv. Например, чтобы переименовать каталог little.dir в big.dir введите: mv little.dir big.dir Эта команда просто переименовывает каталоги; файлы не перемещаются. 4.6.6. Перемещение каталога Команда mv также перемещает каталоги. Она имеет следую- щий формат: mv старый_каталог новый_каталог где старый_каталог - это каталог, который уже сущест- вует. Например, чтобы переместить каталог /usr/joe/accounts в /usr/joe/overdue, введите: - 37 - mv /usr/joe/accounts /usr/joe/overdue Полное имя каталога /usr/joe/accounts теперь /usr/joe/overdue. ?????.sh 3 "Создание копии каталога" Команда copy копирует каталоги. Она имеет следующий формат: copy ключи старый_каталог новый_каталог Чтобы скопировать все файлы из каталога /usr/joe/memos в каталог /usr/joe/notes, введите: copy /usr/joe/memos /usr/joe/notes Файлы из каталога usr/joe/memos скопируются в /usr/joe/notes. Команда copy имеет следующие ключи: -l Устанавливает связь копии файла (создаются файлы- ссылки) с исходным файлом. -m Устанавливает для копий файла ту же самую дату изменения, что и для исходного файла. -r Рекурсивное копирование каталога, т.е. копируются все подкаталоги указанного каталога. 4.7. Перемещение по файловой системе При работе с системой XENIX полезно представлять себе древовидную структуру файлов и каталогов. Каждый ката- лог представляет собой место, в которое и из которого вы можете перемещаться. В каждый момент времени вы находитесь в каком-то месте в древовидной структуре. Это место называется либо рабочим каталогом, либо теку- щим каталогом. Команды, используемые для нахождения вашего местоположения и перемещения по древовидной структуре, описаны ниже. 4.7.1. Определение местоположения Ваше текущее место в файловой системе это имя рабочего каталога. Вы можете определить это имя командой pwd, которая означает "print working directory" (вывести рабочий каталог). Например, если вы находитесь в ката- логе /usr, то когда вы введете команду: pwd вы получите имя: /usr - 38 - 4.7.2. Смена рабочего каталога Рабочий каталог представляет собой ваше местоположение в системе: это "то, где вы находитесь" в системе XENIX. Для того, чтобы сменить это место, используйте команду "сменить каталог" - cd: cd Она меняет ваш рабочий каталог на ваш домашний каталог. Чтобы перейти в любой другой каталог, укажите его имя как аргумент команды cd. Например, команда: cd /usr перемещает вас в каталог /usr. Так как вы находитесь "в" вашем рабочем каталоге, смена каталогов подобна "путешествию" из одного каталога в другой. Чтобы перейти на один каталог выше текущего, введите: cd .. Например, указанная выше команда переместит вас из /usr/joe/work в /usr/joe. Точно также команда: cd ../.. переведет вас из /usr/joe/work в /usr, перемещая вас вверх на два каталога. 4.8. Использование кодов доступа файла и каталога Система XENIX позволяет владельцу файла ограничить дос- туп к файлам и каталогам, указывая, кто может читать, изменять или выполнять файлы, которые принадлежат ему. Для определения кодов доступа, связанных с заданным файлом или каталогом, используйте команду ls -l. Вывод этой команды выглядит примерно так: total 501 drwxr-x--- 2 boris grp1 272 Apr 5 14:33 dir1 drwxr-x--- 2 enid grp1 272 Apr 5 14:33 dir2 drwxr-x--- 2 iris grp1 592 Apr 6 11:12 dir3 -rw-r----- 1 olaf grp2 282 Apr 7 15:11 file1 -rw-r----- 1 olaf grp2 72 Apr 7 13:50 file2 -rw-r----- 1 olaf grp2 1403 Apr 1 15:22 file3 Коды доступа представляют собой первые десять символов в строке вывода. Коды доступа для dir1, первого файла - 39 - в вышеприведенном списке, представляют собой последова- тельность: drwxr-x--- Первый символ обозначает тип файла. Он может быть сле- дующим: - Обозначает обыкновенный файл. d Обозначает каталог. c Обозначает специальное устройство символьного типа, например, принтер или терминал. b Обозначает специальное устройство блокового типа, например, жесткий или гибкий диск. n Обозначает специальный файл имени (т.е. семафор, используемый для управления доступом к некоторому ресурсу). s Обозначает разделяемый файл данных. p Обозначает межпроцессорный канал, которому присво- ено имя. Следующие девять символов, слева направо, представляют собой девять наборов по девять кодов доступа в каждом. Каждый набор управляет доступом для: - Владельца - Группы - Прочих пользователей Внутри каждого набора три символа обозначают, соот- ветственно, полномочия на чтение файла, его изменение (т.е. запись в него) и выполнение файла как команду. Для каталога полномочие "на выполнение" означает разре- шение искать в каталоге любые входящие в него файлы или каталоги. Коды доступа для обыкновенного файла имеют следующие значения: r Файл можно читать w В файл можно писать (его можно изменять) x Файл можно выполнять - 40 - - Соответствующие полномочия отсутствуют Для каталогов коды доступа имеют следующие значения: r Файлы каталога можно вывести; код "x" каталога должен быть установлен. w В каталоге можно создавать или удалять файлы; так же, как и с "r", код "x" каталога должен быть установлен. x В каталоге можно вести поиск. Прежде чем вы смо- жете перейти в каталог с помощью команды cd, полу- чить доступ к файлу, или вывести файлы этого ката- лога, для этого каталога должен быть установлен код "x". Помните, что пользователь должен иметь разрешение "x", чтобы сделать что-либо полезное в каталоге. Ниже приведены несколько типичных комбинаций кодов дос- тупа для каталога: d--------- Доступ закрыт. Это режим, который запрещает доступ к каталогу классу пользователей. drwx------ Разрешает доступ только владельцу. Он может использовать команду lc, создавать файлы, удалять файлы, получать доступ к файлам и переходить в каталог с помощью команды cd. Это типичные коды доступа для владельца каталога. drwxr-x--- Разрешает доступ для членов группы. Они могут использовать команду lc и получать доступ к файлу в соответствии с кодами доступа файла. Члены группы могут переходить в этот каталог, используя команду cd, но не могут создавать или удалять файлы внутри него. Это типичные коды доступа вла- дельца, дающего другим необходимый доступ к файлам в своем каталоге. drwx--x--x С этими кодами доступа все пользователи, за исклю- чением владельца, не могут использовать команду lc, но могут переходить в каталог с помощью команды cd. В этой главе описаны только обычные файлы, выполняемые файлы и каталоги. Сведения о других типах файлов смотри в разделе ls(C) в Справочном руководстве XENIX. - 41 - 4.8.1. Изменение кодов доступа Коды доступа файла или каталога можно изменить командой chmod. Она полезна, если вы создали файл с одним режи- мом защиты, но хотите разрешить прочим пользователям читать, писать или выполнять его. Формат команды chmod следующий: chmod инструкция имя_файла Поле инструкция указывает какие коды доступа для какого класса пользователей вы хотите изменить. Существует три класса пользователей и они обозначаются следующим обра- зом: u Пользователь, владелец файла или каталога. g Группа, которой принадлежит пользователь. o Прочие - все пользователи системы. a Все классы пользователей. Существует три типа кодов доступа: r Читать - разрешает указанным пользователям смот- реть, но не изменять или удалять файл. w Писать - разрешает указанным пользователям изме- нять или даже удалять файл. x Выполнять - разрешает указанным пользователям выполнять файл как команду. Например, предположим, что файл file1 существут со сле- дующими кодами доступа: -rw-r----- В этом примере владелец файла может читать и писать в файл, члены группы могут читать его, а прочие пользова- тели не имеют доступа к файлу вообще. Для того, чтобы разрешить читать file1 всем классам пользователей, введите: chmod a+r file1 В инструкции команды (a+r), "a" обозначает "all" (все). Получившиеся коды доступа установлены следующим обра- зом: - 42 - -rw-r--r-- Если file1 имеет следующие коды доступа: -rw------- Следующая команда разрешает читать и писать в этот файл только членам группы: chmod g+wx file2 Теперь коды доступа будут выглядеть следующим образом: -rw--wx--- Чтобы запретить владельцу файла и членам группы писать и выполнять его, введите: chmod ug-wx file1 4.8.2. Изменение полномочий на просмотр каталога Каталоги также имеют полномочия на выполнения. Этот атрибут означает полномочия на просмотр, а не на выпол- нение, так как каталоги нельзя выполнить. Если эти полномочия не даны какому-то пользователю, то тогда он не сможет даже посмотреть имена файлов в этом каталоге. Например, предположим, что каталог dir1 имеет следующие атрибуты: drwxr-xr-x Чтобы запретить просматривать каталог прочим пользова- телям, введите: chmod o-xr dir1 Новые атрибуты будыт выглядеть следующим образом: drwxr-x--- 4.9. Обработка информации Во многих случаях в файлах будет содержаться информа- ция, которую вы, возможно, захотите обработать. В сис- теме XENIX существуют различные сервисные программы для обработки информации. В следующих разделах описываются некоторые такие программы и как ими пользоваться. - 43 - 4.9.1. Сравнивание файлов Для сравнивания двух текстовых файлов используйте команду diff. Она выводит те строки из указанных фай- лов, которые различаются. Например, предположим, что файл с именем men содержит следующие строки: Теперь пора всем настоящим мужчинам прийти на помощь своей стороне а файл с именем women содержит следующее: Теперь пора всем настоящим женщинам прийти на помощь своей стороне В этом случае команда: diff men women Выведет следующее: 1c1 < Теперь пора всем настоящим мужчинам --- < Теперь пора всем настоящим женщинам Различия между тремя файлами можно получить при помощи команды diff3. Подробнее эта команда описана в разделе diff3(C) в Справочном руководстве XENIX. 4.9.2. Отображение аргументов Команда echo выводит аргументы на стандартный вывод. Например, введя: echo "Now is the time For all good men To come to the Aid of their party" Вы получите: "Now is the time For all good men To come to the Aid of their party" - 44 - Команда echo особенно полезна при программировании на языке интерпретатора команд shell. Cм. главу 4 "Интерпретатор командного языка" в Руководстве пользо- вателя XENIX. 4.9.3. Сортировка файла Одной из наиболее полезных команд обработки файлов является команда sort. По умолчанию, sort сортирует строки файла в соответствии с последовательностью ASCII, т. е. в алфавитном порядке. Например, чтобы отсортировать файл с именем phonelist, введите: sort phonelist В вышеприведенном примере отсортированное содержимое файла будет выводиться на экран. Для создания отсорти- рованной версии phonelist с именем phonesort, введите: sort phonelist > phonesort Заметьте, что sort полезна для сортировки вывода других команд. Например, чтобы отсортировать вывод команды who, введите: who | sort >whosort Эта команда берет вывод who, сортирует его и пересылает отсортированный вывод в файл whosort. У команды sort существует большое количество ключей. Подробное описание см. в разделе sort(C) в Справочном руководстве XENIX. 4.9.4. Поиск образца в файле Команда grep выбирает и выводит только те строки, кото- рые соответствуют заданному образцу. Например, чтобы вывести все строки файла, содержащие слово "tty38", введите: grep 'tty38' file Вообще, вы всегда должны заключать образец для поиска в одиночные кавычки, чтобы специальные метасимволы интерпретировались правильно. В следующем примере подразумевается, что вы имеете файл с именем phonelist, который содержит строки, в которых указано имя и телефон. Подразумевается также, что в этом списке несколько тысяч имен. Вы можете - 45 - использовать команду grep, чтобы найти телефон человека с именем Joe, чей номер начинается с цифр 822. Для этого введите следующую команду: grep 'Joe' phonelist | grep '822-' >joes.number grep найдет все строки, содержащие слово "Joe". Затем эти строки будут профильтрованы через другую команду grep, котррая выберет строки, содержащие "822-" таким образом отбросив всех других ненужных Joe. В конце кон- цов, при условии, что в списке существует единственный Joe, чей номер начинается с 822, его имя и телефон будет записано в файле joes.number. Для получения дополнительной информации о команде grep, а также о "родственниках" этой команды fgrep и egrep, о типах образцов, которые можно искать (они называются "регулярные выражения"), смотри раздел grep(C) в Спра- вочном руководстве XENIX. 4.9.5. Подсчет слов, строк и символов wc - это программа для подсчета слов в файле. Буквы 'wc' обозначают word count (подсчет слов). Подразумева- ется, что слова разделяются знаками пунктуации, пробе- лами, табуляциями или символами новая строка. wc также считает количество символов и строк; все три числа выводятся по умолчанию. Например, чтобы подсчитать число строк, слов и символов в файле textfile, введите: wc textfile Типичный вывод количества строк, слов и символов может выглядеть следующим образом: 4432 18188 97808 textfile Если вы хотите подсчитать только символы, слова или строки, вы должны использовать соответствующие мнемони- ческие ключи. В качестве иллюстрации посмотрите внимательно на следу- ющие три команды и их вывод: wc -c textfile 97808 textfile wc -w textfile 18188 textfile wc -l textfile 4432 textfile - 46 - Первый пример выводит число символов в textfile, второй выводит число слов, а третий число строк. 4.9.6. Установка времени выполнения команды Программа at позволяет вам установить время выполнения команды. Она полезна, если вы хотите выполнить команду в то время, когда вы не собираетесь работать с системой непосредственно. Команда at принимает стандартный ввод и имеет следующий формат: cat файл | at время день файл - это имя файла, содержащего команду или команды для выполнения. время - это время дня, заданное циф- рами, за которыми следует "am" или "pm", что обозна- чает, соответственно, до полудня или после полудня. Число, заданное одной или двумя цифрами, воспринимается как часы, тремя или четыремя - как часы и минуты. Более четырех цифр не воспринимается. день необязателен. Это либо имя месяца, за которым сле- дует номер дня, либо день недели. Если день не задан, команда выполнится сегодня. Например, если вы захотите определить, какие процессы будут работать в системе в десять часов вечера, во вторник, поместите следующую строку в файл с именем use: ps -a > /usr/myname/use (Как создавать файлы и записывать в них текст, описано в главе 4 "vi: текстовый редактор" в Руководстве поль- зователя XENIX). После того, как вы создали такой файл, введите: cat use | at 10pm tues Нажмите RETURN. Появиться приглашение системы XENIX и вы можете продолжать работать. В десять часов вечера, во вторник, система XENIX выполнит команду ps -a и поместит вывод в файл use. Выход из системы на команду at не влияет. Для того, чтобы проверить, какие файлы должны выпол- ниться, используйте команду at с ключом -l. Она выводит файлы, принадлежащие данному пользователю, которые должны выполняться. Также выводится следующая информа- ция: - 47 - - Идентификатор файла. - Команда, вызывающая этот файл (at или batch). - Дату и время, когда должен быть выполнен файл. Чтобы отменить выполнение команды, сначала просмотрите список файлов для выполнения и запомните его идентифи- катор. Затем используйте команду at -r для удаления файла или файлов из списка. Команда at -r имеет следующий формат: at -r число Например: at -r 504510300.a удалит файл с номером 504510300.a, отменив все команды, которые содержались в нем. Пользователь может удалять только свои собственные файлы. 4.10. Управление процессами В системе XENIX несколько процессов могут работать одновременно. Например, вы можете запустить программу сортировки файла "в фоновом режиме", а сами в это время редактировать другой файл в основном режиме. Те про- цессы, которыми вы управляете с клавиатуры, называются основными процессами. Другие процессы, которые вы можете инициировать, но не можете полностью управлять ими, называются фоновыми процессами. В любой момент времени у вас может существовать только один основной процесс, но при этом могут одновременно выполняться несколько фоновых процессов. В этой части описано управление фоновыми и основными процессами. 4.10.1. Запуск процесса в фоновом режиме Обычно команды, посланные с клавиатуры, выполняются в строгой последовательности; одна команда должна закон- читься перед тем, как начнется выполняться следующая. Такого типа команды называются основными процессами. В отличие от них, фоновым процессам не надо ждать оконча- ния предыдущей команды. Фоновые команды особенно полезны для выполнения программ, которые знимают много времени. Для того, чтобы запустить процесс в фоновом режиме, добавьте амперсанд ('&') к концу команды. Например, чтобы посчитать число слов в нескольких больших файлах, при этом продолжая работать с чем-нибудь еще, введите: - 48 - wc file1 file2 file3 >count& Вывод будет собран в файле count. Если вывод не напра- вить в файл, он будет появляться на экране в непредска- зуемые моменты во время вашей работы. Когда процесс запускается в фоновом режиме, вы теряете над ним контроль во время выполнения. Например, введя INTERRUPT, вы не остановите фоновый процесс. Вместо этого вы должны использовать команду kill, описанную в следующем разделе. 4.10.2. Как остановить процесс Чтобы остановить выполнение основного процесса, нажмите на вашем терминале клавишу INTERRUPT. Это остановит любую команду, работующую в основном режиме. Для того, чтобы остановить все ваши процессы, работающие в фоно- вом режиме, введите: kill 0 Чтобы остановить какой-то конкретный фоновый процесс, сначала введите: ps Команда ps выводит идентификаторы (PID) всех ваших существующих процессов. Например: PID TTY TIME CMD 3459 03 0:15 -sh 4831 03 1:52 cc program.s 5185 03 0:00 ps Для вышеприведенного примера, вы можете ввести: kill 4831 где 4831 - это идентификатор процесса, который вы хотите остановить. _______________________________________________________ Замечание Остановка процесса, связанного с редактором vi, может ввести терминал в странный режим работы. Кроме того, временные файлы, котрые обычно созда- ются во время запуска команды и удаляются после окончания ее работы, могут остаться после выполне- ния команды kill. Временные файлы обычно нахо- дятся в каталоге /tmp. Этот каталог следует перио- дически проверять и удалять старые файлы. - 49 - __________________________________________________ 4.11. Получение информации о статусе Так как XENIX - это большая вычислительная среда, существует ряд вещей, которые вы захотите узнать о самой системе, например: кто сейчас работает в системе, сколько осталось свободного места на дисках, какие про- цессы в данный момент выполняются. В этом разделе опи- саны различные виды доступной информации и методы ее получения. 4.11.1. Кто работает в системе Команда who выводит имена, номера терминалов и время входа в систему пользователей, работающих на данный момент в системе. Например, введите: who Эта команда выведет на экран терминала что-то подобное следующему: arnold tty02 Apr 7 10:20 daphne tty21 Apr 7 07:47 eliot tty23 Apr 7 14:21 elen tty35 Apr 7 08:36 gus tty26 Apr 7 09:55 adrian tty28 Apr 7 14:21 Команда finger выводит более подробную информацию, такую, как номера телефонов организаций и добавочные телефонные номера. Для получения дополнительной инфор- мации об использовании этой команды, смотри finger(C) в Справочном руководстве XENIX. 4.11.2. Какие процессы выполняются Так как команды могут быть запущены в фоновом режиме, не всегда очевидно, какие процессы были запущены вами. Команда ps означает "process status" (статус процесса) и выводит информацию о текущих процессах, связанных с вашим терминалом. Например, вывод команды ps может выг- лядеть следующим образом: PID TTY TIME CMD 10308 38 1:36 ed chap02.man 49 38 0:29 -sh 11267 38 0:00 ps Столбец PID содержит уникальный идентификатор процесса, - 50 - который может быть использован для остановки какого- нибудь конкретного процесса. Столбец TTY содержит тер- минал, с которым связан процесс. Столбец TIME содержит общее время выполнения процесса. Процесс может быть остановлен командой kill. Для получения информации об использовании этой команды, смотри раздел 4.10.2 "Как остановить процесс". Для того, чтобы определить все процессы, работающие в системе, используйте ключ -a: ps -a Чтобы определить процессы, работающие на другом терми- нале, используйте ключ -t, после которого укажите номер терминала. Например, если вы хотите узнать, какие про- цессы связаны с терминалом номер 13, введите: ps -t13 Для получения дополнительной информации о команде ps и ее ключах, смотри ps(C) в Справочном руководстве XENIX. 4.11.3. Получение информации о принтере Вы можете получить информацию о состоянии файлов, кото- рые вы послали на печать, командой lpstat. lpstat выво- дит информацию об отдельном файле или обо всех ваших файлах, ожидающих печати. Чтобы выяснить, в каком состоянии находится отдельный файл (его статус), вам нужно знать идентификатор зап- роса на печать. Когда вы делаете запросы на печать с помощью команды lp, то идентификатор запроса выводится на экран. Он имеет вид: принтер-идентификационный_номер принтер - это имя принтера, на котором будет печататься ваш файл (узнайте у администратора системы, какие прин- теры вам доступны), а идентификационный_номер представ- ляет собой уникальное число, идентифицирующее ваш файл. Чтобы узнать состояние конкретного файла, введите: lpstat идентификатор_запроса lpstat в ответ выведет дату и время, когда был сделан запрос на печать, и сколько символов осталось напеча- тать. Чтобы выяснить, в каком состоянии находятся все ваши файлы, ожидающие печати на принтерах, введите: - 51 - lpstat lpstat в ответ выведет идентификаторы запросов и инфор- мацию о состоянии всех ваших файлов. Вы можете узнать, какие файлы ожидают печати на данном принтере, использовав lpstat с ключом -p. Эта команда имеет следующий формат: lpstat -p принтер В ответ lpstat выведет идентификаторы запросов и инфор- мацию о состоянии для всех файлов, ожидающих печати на указанном принтере. Подробно lpstat и его ключи описываются в Справочном руководстве XENIX в разделе lpstat(C). 4.12. Как пользоваться принтером Команды XENIX, управляющие принтерами, легки в исполь- зовании и предоставляют вам большое количество вариан- тов при печати файла. С помощью нескольких простых команд вы можете сделать несколько копий файла, отме- нить запрос на печать или установить специальный ключ для конкретного принтера. Так как система принтеров XENIX разработана таким образом, чтобы ее можно было легко настраивать на работу с различным окружением, то узнайте у вашего администратора системы, какие принтеры и ключи вам доступны. 4.12.1. Печать файлов: lp Чтобы распечатать копии ваших файлов, вы можете вос- пользоваться либо командой lp, либо командой lpr. Эти две команды эквивалентны. В этом разделе в примерах используется 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, введите: