Руководство по Xenix 1. Введение 1.1. Обзор Это руководство знакомит вас с ключевыми понятиями сис- темы XENIX. Оно составлено в виде учебника. Руководство начинается с "демонстрационного сеанса", в котором поясняется пример сеанса реальной работы на компьютере, объясняется, как работать с командами и исправлять ошибки при их наборе с клавиатуры. Вводятся основные понятия, такие, как файлы, команды и соот- ветствие образцам. Затем эти и другие понятия объясняются применительно к "реальным" примерам, таким, как работа с файлами, зада- ние конфигурации терминала, управление процессами и информация о статусе или состоянии. _______________________________________________________ Замечание Это руководство необходимо прочитать перед тем, как вы раскроете остальную документацию по системе XENIX, но для получения более подробной информации по всем темам, затронутым здесь, обращайтесь к другим руководствам пользователя и справочникам из комплекта документации. __________________________________________________ 1.2. Система XENIX Система XENIX состоит из многопользовательской операци- онной системы общего назначения и более сотни приклад- ных и обслуживающих программ. В дополнение к операцион- ной системе XENIX, описанной в данном руководстве, воз- можно использование двух других системных пакетов: Сис- темы разработки программ XENIX и Системы обработки текстов XENIX. 1.3. Рабочее окружение системы XENIX Система XENIX построена вокруг операционной системы XENIX. Операционная система предназначена для эффектив- ной организации и управления ресурсами компьютера таким образом, чтобы ими могли пользоваться реальные пользо- ватели. Эти ресурсы включают в себя память, диски, принтеры, терминалы и любые другие периферийные уст- ройства, связанные с системой. Сердцевиной системы XENIX является "многопользовательская" и "многозадач- ная" операционная система. Многопользовательская сис- тема позволяет нескольким пользователям одновременно - 1 - использовать компьютер, таким образом обеспечивая мень- шую стоимость вычислительной мощности в расчете на одного пользователя. Многозадачная система позволяет работать одновременно нескольким программам и увеличи- вает производительность компьютера, так как несколько программ могут работать одновременно, а не последова- тельно. Так как UNIX (а значит, и XENIX) является принятым стандартом операционных систем, ориентированных на ква- лифицированного пользователя, то с этим окружением можно использовать большую часть программного обеспече- ния. В дополнение, XENIX обеспечивает доступ к файлам операционной системы MS-DOS, наиболее широко используе- мой операционной системой в мире для 16 разрядных компьютеров. Для систем, которые поддерживают DOS, XENIX предоставляет команды, которые дадут вам доступ к файлам и дискам в формате DOS. Также система XENIX включает несколько широко распространенных удачных усо- вершенствований, разработанных в Калифорнийском универ- ситете в Беркли, и экранный интерфейс, близкий к другим интерфейсам программных продуктов фирмы Microsoft. Другие особенности, характеризующие систему XENIX: - Мощный командный язык для команд программирова- ния XENIX. В отличие от других интерактивных командных языков, "shell" системы XENIX является полным языком программирования. - Соглашение по присвоению простых и составных имен. Имена могут использоваться абсолютно, либо относительно любого каталога файловой системы. - Независимость операций ввода-вывода от уст- ройств: каждое физическое устройство, от инте- рактивного терминала до основной памяти, воспри- нимается как файл, что позволяет привести к еди- ной форме ввод-вывод в файл и на устройство. - Набор относительных текстовых редакторов, вклю- чающий полный экранный редактор. - Гибкие средства обработки текстов. В системе XENIX существуют команды для поиска и извлечения образцов текста из файлов, сравнения и нахожде- ния различий между файлами, сравнения каталогов и поиска по каталогам. Так же предоставляются средства форматирования, установки типа и про- верки правильности написания текста, а также средства для форматирования и установки типа сложных таблиц и выравнивания. - 2 - - Сложная программа-"калькулятор". - Монтируемая и отмонтируемая файловая система, которая позволяет добавлять гибкие диски к фай- ловой системе. - Полный набор различных гибких способов защиты каталогов и файлов, который предоставляет все комбинации полномочий на чтение, запись или выполнение для владельца каждого файла или ката- лога, а также для группы пользователей. - Средства для создания, получения доступа, пере- мещения и обработки файлов и каталогов простым и общим для всех способом. 1.4. Об этом руководстве Данное руководство построено следующим образом: Глава 1, "Введение", содержит введение и обзор системы XENIX. Глава 2, "Демонстрационный сеанс", дает опыт непос- редственного общения с системой XENIX. Глава 3, "Основные понятия", объясняет основные поня- тия, которые вам нужно знать перед тем, как вы начнете использовать систему. В нее включены разделы по файло- вой системе, соглашению по присвоению имен, командам и вводу-выводу. Глава 4, "Задачи", объясняет, как выполнять повседнев- ные задачи с помощью соответствующих команд системы XENIX. - 3 - 2. Демонстрационный 2.1. Введение В этой главе описан демонстрационный сеанс работы, раз- работанный для того, чтобы помочь вам освоить систему XENIX, и начать эффективно ее использовать. Показано, как входить в систему, вводить информацию с клавиатуры, что делать, если при вводе была сделана ошибка, как вводить команды и как выходить из системы. 2.2. Перед тем, как вы войдете в систему Перед тем, как вы сможете войти в систему, ваше имя должно быть занесено в список пользователей системы XENIX. В этот момент вам дадут регистрационное имя и пароль. Вы можете занести свое имя сами или поручить эту работу кому-либо другому; это зависит от окружения, в котором используется ваша система. В любом случае, см. Руководство оператора XENIX и mkuser(C) для получе- ния более подробной информации о добавлении пользовате- лей в систему. Когда для вас заводится учетная структура в системе XENIX, вы также получаете имя пользователя, пароль и регистрационный каталог. Если все это у вас уже есть, то все, что вам нужно - это терминал, с которого вы сможете войти в систему. XENIX поддерживает большинстов типов терминалов, и, подключая терминал для работы с системой, вы не должны столкнуться с проблемами. Снова см. Руководство оператора XENIX для получения дополни- тельной информации по установке конфигурации вашего терминала. 2.3. Вход в систему Обычно система простаивает с приглашением "login:" на экране терминала. Если система не выводит никаких сим- волов, когда вы вводите текст, то, возможно, ваш терми- нал получает информацию на неправильной скорости, и вам необходимо проверить переключатели терминала. Если переключатели установлены правильно, несколько раз наж- мите клавиши BREAK или INTERRUPT. Когда вы получили сообщение "login:", введите ваше регистрационное имя, а затем нажмите RETURN; система ничего не будет делать, пока вы этого не сделаете. Если потребуется пароль, у вас его запросят. Пароль, который вы вводите, не отображается на экране. Это позволяет сохранить его в тайне. Не забудьте нажать RETURN после того, как вы введете пароль. Затем вы увидите строку - 4 - TERM=(unknown) Введите тип вашего терминала (например, ansi) и нажмите RETURN. После успешного входа в систему появляется "символ- приглашение", одиночный символ, который означает, что система готова принимать команды. Обычно используется знак денежной единицы ('$') или процент ('%'). Кроме того, вы можете получить при входе сообщение, такое, как: You have mail (Вам пришла почта) сообщающее вам, что другой пользователь системы послал вам почтовое сообщение. 2.4. Ввод команд После того, как появился символ-приглашение, система готова воспринимать команды, вводимые с терминала. Поп- робуйте ввести: date затем нажмите RETURN. Система выведет нечто такого рода: Mon Jun 16 14:17:10 EST 1985 Не забудьте нажать клавишу RETURN после команды, иначе ничего не произойдет. Клавиша RETURN не будет больше упоминаться, но не забывайте, что ее нужно нажимать в конце каждой командной строки. На некоторых терминалах клавиша RETURN может быть обозначена как ENTER или CR, но во всех этих случаях клавиша осуществляет ту же самую функцию. Другая команда, которую вы можете попробовать ввести, это who, которая выводит имена всех, кто вошел в сис- тему. Типичный вывод команды who может выглядеть так: you console Jan 16 14:00 joe tty01 Jan 16 09:11 ann tty02 Jan 16 09:33 Время, указанное в четвертом столбце, обозначает время входа пользователя в систему; ttynn - это системное имя для каждого пользовательского терминала, где nn это уникальный двухцифровой номер. console - это - 5 - специальное имя основного терминала, установленное по умолчанию для многих операций. Если вы сделали ошибку при вводе имени команды, вы уви- дите сообщение на вашем экране. Например, если вы вве- дете: whom система выведет следующее сообщение: whom: not found (не найдена) Обратите внимание, что регистр, в котором вы набираете команду, имеет значение в системе XENIX. Команды who и WHO не одно и тоже, этим XENIX отличается от некоторых опе- рационных систем, в которых регистр не имеет значения. Теперь попробуйте вывести сообщение на ваш экран, используя команду echo. Введите: echo hello world Команда выведет остаток командной строки на ваш терми- нал: hello world Теперь попробуйте набрать следующее: echo hello world>>greeting.file В этом случае команда echo вместо вашего терминала перешлет свой вывод в новый файл, названный greeting.file. Заметьте, что использование знака больше ('>>') означает "перенаправить" вывод команды. Теперь введите: ls для того, чтобы вывести только имя файла. Чтобы посмот- реть его содержимое, необходимо дать команду: cat greeting.file - 6 - где "cat" означает объединенить (concatenate). Одно из назначений команды cat -это объединить содержимое нес- кольких файлов и поместить результат в новый файл. Однако, так как ваш терминал воспринимается в системе XENIX как любой другой файл, cat чаще всего использу- ется для вывода содержимого файла на экран. Таким обра- зом, вышеуказанная команда пересылает следующий вывод на экран вашего терминала: hello world Чтобы удалить файл greeting.file, введите: rm greeting.file Заметьте, что имена команд системы XENIX часто сокраща- ются до мнемонических названий. Например, cp является сокращением от "copy", ls - сокращение от "list", cat - сокращение от "concatenate", mkdir - сокращение от "make direсtory", а chmod - сокращение от "change mode". 2.5. Ошибки при наборе Если вы сделали ошибку при вводе команды, существует два способа отредактировать строку, при условии, что вы еще не нажали клавишу RETURN. Нажатие клавиши BKSP вызывает удаление последнего введенного символа. Пере- ходя на шаг назад клавишей BKSP можно удалить символы до начала строки, но не перед началом. Таким образом, если вы напечатали что-то неправильно, вы можете испра- вить это. Например, ввод: ddBKSPateRETURN означает то же самое, что и dateRETURN Символ стирания строки Ctrl-u стирает все символы уже введенные на текущей строке. Например, если строку исправить нельзя, нажмите Ctrl-u и начните вводить ее заново. Если вы должны ввести BKSP или Ctrl-u как часть текста, поставьте перед ними обратную косую черту ('\'), таким образом символ теряет свое специальное "удаляющее" зна- чение. Чтобы ввести BKSP или Ctrl-u в текст, введите "\BKSP" или "\Ctrl-u". Система всегда выводит новую строку на ваш терминал после Ctrl-u, даже если этой комбинации предшествует обратная косая черта. Тем не менее Ctrl-u будет записано. - 7 - Чтобы удалить обратную косую черту, дважды нажмите кла- вишу BKSP следующим образом: "\BKSPBKSP". Обратная косая черта широко используется в системе XENIX для того, чтобы обозначить, что следующий за ней символ несет специальное значение. Заметьте, что функции, осу- ществляемые символами BKSP и Ctrl-u доступны во всех системах XENIX, однако клавиши, используемые для обоз- начения этих символов могут изменяться и могут быть установлены командой stty(C). 2.6. Чтение с опережением и ввод с опережением Система XENIX может считывать команды с опережением, это означает, что вы можете набирать команды с такой скоростью, с какой вы хотите, и где вы хотите, а XENIX запомнит все, что вы ввели. Если вы вводили текст в то время, как другая команда выводила текст на экран, вво- димые вами символы появлялись на экране вперемешку с выводимыми символами, но тем не менее они были запом- нены и восприняты в правильном порядке. Таким образом, вы можете ввести несколько команд (т.е. "ввод с опере- жением") одну за другой, не ожидая окончания выполнения первой. Заметьте, что это нельзя использовать при входе в систему; опережающий ввод не работает до тех пор, пока после ввода пароля не появится приглашение в виде знака денежной единицы ('$'). 2.7. Странное поведение терминала Время от времени ваш терминал может себя странно вести. Вы можете привести его в нормальное состояние либо вык- лючив, а затем быстро включив, либо выйдя из системы, и войдя обратно; эти действия приводят к установке заново характеристик вашего терминала. Часто помогает нажатие Ctrl-q. Это восстанавливает работоспособность термина- лов, которые находятся (случайно или по другим причи- нам) в режиме отключенного отображения символов. Ctrl-s приостанавливает вывод на экран, а Ctrl-q продолжает вывод. Если включение и выключение терминала, выход из системы и вход обратно, нажатие Ctrl-q не помогает, прочтите описание команды stty(C) в документации по системе XENIX для получения дополнительной информации по установке характеристик терминала. Также посмотрите следующий раздел, "Остановка программы". 2.8. Остановка программы Вы можете преждевременно прекратить выполнение боль- шинства программ и команд, нажав клавишу INTERRUPT (возможно на вашем терминале она называется DEL, DELETE, Ctrl-c или RUBOUT). На многих терминалах существует клавиша BREAK, которую также можно использо- вать. В некоторых программах, таких, как большинство - 8 - текстовых редакторов, ввод INTERRUPT останавливает только действия, выполняемые в данный момент програм- мой, без преждевременного прекращения самой программы. Когда в этой документации написано "послать прерыва- ние", то подразумевается нажатие клавишу INTERRUPT. 2.9. Выход из системы Чтобы закончить сеанс работы с системой XENIX, вы должны выйти из системы. Это производится нажатием Ctrl-d в первой позиции строки. Недостаточно только выключить терминал, так как это не выводит вас из сис- темы. Некоторые программы также можно остановить нажа- тием Ctrl-d, так что будьте внимательны. 3. Введение В этой главе будут объяснены основные понятия, которые вы должны знать для работы с системой XENIX. Прочитав эту главу, вы будете знать, как организованы системные файлы, каталоги и устройства, и как они называются, как вводятся команды и как можно манипулировать вводом и выводом команд. Начинается эта глава с обсуждения фай- лов. 3.1. Файлы Файл является основной единицей файловой системы XENIX. В системе XENIX в действительности существует три типа файлов: обычные файлы (то, что мы обычно имеем в виду, когда говорим "файл"), каталоги и специальные файлы. Каждый из этих типов описан ниже. 3.1.1. Обычные файлы Обычные файлы обычно содержат текстовую информацию, например документы, данные или тексты программ. Выпол- няемые двоичные файлы также входят в эту группу. Обыч- ный файл это просто именованная последовательность 8- разрядных байтов. Будут ли эти байты восприниматься как текстовые символы, двоичные инструкции или оператор программы, зависит только от тех программ, которые их используют. Каждый обычный файл имеет следующие атри- буты: - Имя файла (не обязательно уникальное). - Уникальный в данной системе номер, называемый номером i-узла. - Размер в байтах. - 9 - - Время создания. - Время изменения. - Время последнего доступа. - Набор кодов доступа. Для обеспечения безопасности и сохранности информации файлы могут быть защищены установкой соответствующих кодов доступа. Это осуществляется при помощи присвое- ния файлам полномочий на чтение-запись-выполнение. Пользователь может управлять предоставлением этих пол- номочияй владельцу файла, группе пользователей и прочим пользователям. По умолчанию, владельцем файла является его создатель. Владелец может читать файл или писать в него. По умолчанию, прочие пользователи могут читать файл, принадлежащий другому, но не могут писать в него. Коды доступа файла могут быть изменены командой chmod. Эта команда описывается в главе 4 данного руководства. 3.1.2. Специальные файлы Специальные файлы соответствуют физическим устройствам, таким, как гибкие или жесткие диски, принтеры, терми- налы и системная память. Они называются "специальные файлы устройств". В этом руководстве они не описаны. 3.1.3. Файлы-каталоги Файлы-каталоги - это файлы, которые можно только читать, и которые содержат информацию о файлах или каталогах, которые умозрительно (но не физически) содержатся внутри него. Эта информация состоит из имени и номера i-узла для каждого файла или каталога, содер- жащегося внутри данного каталога. Номер i-узла - это уникальный номер, связанный с любым заданным файлом. У всех файлов в системе имеются номера i-узлов. Пара имя/номер i-узла называется ссылкой (связью). Команда ls просматривает файлы каталогов и выводит информацию о файлах, содержащихся внутри названного каталога. По номеру i-узла команда ls может найти также другую информацию о файле. Вложенность каталогов внутрь других каталогов - это способ, при помощи которого XENIX реализует характери- зующую ее древовидную структуру каталогов. Каталоги обсуждаются в следующем разделе. Как и обычные файлы, каталоги могут быть защищены при помощи установки соответствующих кодов доступа для обеспечения сохранности информации и безопасности. Это осуществляется присвоением каталогам полномочий на - 10 - чтение-запись-выполнение. Доступ к каталогу может регулироваться для владельца каталога, группы пользова- телей и для прочих пользователей. Разрешение на запись означает, что к каталогу могут быть добавлены или уда- лены файлы. По умолчанию, владельцем каталога является его создатель, владелец может читать, создавать или удалять файлы в каталоге. Также, по умолчанию, пользо- ватель может читать файлы из каталога другого, но не может добавлять или удалять файлы. Как и коды доступа к файлу, коды доступа к каталогу можно изменить коман- дой chmod. Коды доступа, устанавливаемые по умолчанию, могут быть изменены командой umask. 3.1.4. Структура каталога Если в системе работает несколько пользователей и раз- рабатываются различные проекты, число файлов в файловой системе может быстро увеличиваться. К счастью, как упо- миналось раньше, XENIX организует файлы в иерархическую древовидную структуру каталогов. Древовидную структуру можно представить в виде физического мира, в котором пользователь может передвигаться из одного места в дру- гое. "Места" - это каталоги. Каждый пользователь сис- темы имеет свой персональный каталог. Внутри этого каталога пользователь может иметь каталоги или другие подкаталоги, принадлежащие только ему и управляемые только этим пользователем. Когда вы входите в систему, вы попадаете в свой ката- лог. Если вы не предприняли специальных действий при создании файла, новый файл будет создан в вашем рабочем каталоге. Этот файл не имеет отношения к любому другому файлу с тем же именем в чьем-либо другом каталоге. Схема типичного пользовательского каталога показана на Рис 3-1. usr /| / | / | adam eve mary / / text1 / text text temp Рис 3-1 Типичный каталог пользователя. На Рис 3-1 каталог usr содержит персональные каталоги всех пользователей. Заметьте, что файл с именем text в каталоге mary не имеет никакого отношения к такому же файлу в каталоге eve. Это не имеет значения, если все интересующие нас файлы находятся в каталоге eve, но если владельцы каталогов eve и mary работают вместе, или если они работают раздельно, но над связанными задачами, такое разделение файлов становится действи- тельно удобным. Например, владелец mary может - 11 - напечатать текст из каталога eve, набрав: pr /usr/eve/text Также и владелец eve может посмотреть, какие файлы содержатся в каталоге mary: ls /usr/mary 3.2. Файловые системы Файловая система - это набор файлов, организованных определенным образом. В системе XENIX этот набор сос- тоит из всех доступных ресурсов, включающих файлы дан- ных, каталоги, программы, принтеры и диски. Таким обра- зом, файловая система XENIX - система, предоставляющая доступ ко всем системным ресурсам. Чтобы придать ресурсам системы логическую структуру, файловая система XENIX организована иерархически, в виде перевернутой "древовидной структуры". На Рис 3-2 показана структура типичной древовидной файловой сис- темы. В этом типичном дереве файлов корень дерева рас- положен наверху, а ветви дерева растут вниз. Каталоги соответствуют i-узлам в дереве; обычные файлы соот- ветствуют "листьям". Если каталог содержит идущую вниз ветвь к другим файлам или каталогам, тогда эти файлы и каталоги "содержатся" в указанном каталоге. Можно назы- вать любой файл в системе, начиная от корня (корень находится на вершине), и идти вниз по всем веткам до необходимого файла. Точно также вы можете указать любой файл в системе относительно любого каталога. Определе- ние этих файлов зависит от знания соглашений о присвое- нии имен в системе XENIX, обсуждаемых в следующем раз- деле. / (корень) /| / | / | bin usr dev / / cmd / tty doug neil / | | / | | mail news text data Рис 3-2 Типичная файловая система На Рис 3-2 "дерево" файловой системы растет вниз. Имена bin, usr, doug и neil представляют каталоги и все узлы дерева. В системе XENIX корневой каталог имеет имя, состоящее из одного символа "/". Имена mail, news, text и data представляют обычные файлы данных, и все являются "листьями" дерева. Заметьте, что имя cmd - это имя команды, которую можно запустить. Имя tty соот- ветствует терминалу и также представлено в дереве. - 12 - 3.3. Соглашения по присвоению имен В системе XENIX каждый файл, каталог и устройство обла- дают как именем файла, так и абсолютным полным именем файла (иногда также называемым маршрутом к файлу). Полное имя файла представляет собой описание местополо- жения файла или каталога в системе. Полное имя является уникальным для всех имен в системе; просто же имя файла является уникальным только внутри данного каталога и может не быть единственным в системе. Это как в теле- фонном справочнике человек записан под именем John Albert Smith, а в телефонной книжке оффиса этот же человек может быть записан просто под именем John. 3.3.1. Имена файлов Просто имя файла представляет собой последовательность из от одного до четырнадцати символов, отличных от сим- вола косая черта ('/'). Каждый файл, каталог и уст- ройство имеет имя. Имена файлов используются для опре- деления содержимого каталогов. Таким образом, в одном каталоге не может быть двух файлов с одинаковыми име- нами. Однако имена в различных каталогах могут совпа- дать. Несмотря на то, что вы можете использовать любые сим- волы в имени файла, лучше его составлять из буквенно- цифровых символов и точек. Не советуем использовать другие символы в имени файла, особенно управляющие сим- волы. Если имя файла содержит точку в первой позиции, то этот файл является "скрытым" и не отображается командой ls. Однако команда ls с ключом -a выведет скрытые файлы. Тире ('-') используется для указания ключей команды, поэтому следует избегать использования этого символа в именах файлов. Кроме того, нельзя использовать в именах файлов символы знак вопроса ('?'), звездочка ('*'), скобки ('[' и ']'), а также кавычки, так как все эти символы имеют специальное зна- чение при вводе команд. 3.3.2. Полные имена файлов Полное имя файла представляет собой само имя файла, перед которым следует последовательность из имен ката- логов, разделенных символом косая черта ('/'). Если полное имя файла начинается с символа косая черта, оно указывает на файл, который может быть найден при прос- мотре от корневого каталога. В противном случае файлы ищутся относительно "текущего каталога" ( также называ- емого "рабочим каталогом"). Текущий каталог необходимо представлять себе как место вашего расположения в сис- теме, думайте о нем как о физическом местеположении. Когда вы меняете ваш текущий каталог, вы передвигаетесь - 13 - в некоторый другой каталог или место в файловой сис- теме. Полное имя файла, начинающееся с символа косая черта, называется "абсолютным полным именем файла", так как оно не изменяется относительно текущего каталога поль- зователя. Полное имя файла, которое начинается не с символа косая черта, назвается "относительным полным именем файла", так как оно указывает на файл относи- тельно текущего каталога. В любое время пользователь может сменить текущий каталог командой cd. Имя теку- щего каталога можно вывести командой pwd. 3.3.3. Примеры имен файлов Некоторые примеры имен файлов показаны ниже: / Абсолютное полное имя корневого каталога файловой системы. /bin Каталог, содержащий большинство наиболее часто используемых команд системы XENIX. /usr Каталог, содержащий личные каталоги пользователей. Каталог /usr/bin содержит наиболее часто использу- емые команды системы XENIX, которых нет в каталоге /bin. /dev Каталог, содержащий файлы, соответствующие физи- ческим устройствам (таким, как терминалы, принтеры и диски). /dev/console Имя основного терминала системы. /dev/tty Имя терминала пользователя. /lib Каталог, содержащий файлы, используемые некоторыми стандартными командами. tmp Этот каталог содержит временные файлы. /usr/joe/project/A Типичное полное имя файла; указывает на файл с именем A в каталоге project, принадлежащий пользо- вателю joe. bin/x Относительное имя файла; указывает на файл с име- нем x в подкаталоге bin текущего рабочего ката- лога. Если текущим каталогом является корень (/), имя указывает на файл /bin/x. Если текущим - 14 - каталогом является /usr/joe, то указывает на файл /usr/joe/bin/x. file1 Имя обычного файла в текущем каталоге. При работе в системе XENIX каждый пользователь нахо- дится в каталоге, который называется текущим каталогом. Все файлы и каталоги имеют "родительский" каталог. Он стоит на один уровень выше и содержит указанный файл и каталог. В файловой системе XENIX предусмотрено специ- альное сокращение для таких каталогов. Для текущего каталога: . Сокращенное имя текущего каталога. Таким образом ./файлxxx указывает на файл файлxxx, если он существует в текущем каталоге. .. Сокращенное имя "родительского" каталога для теку- щего каталога. Сокращенное имя ../.. обращается к каталогу, который стоит на два уровня выше теку- щего каталога. 3.3.4. Специальные символы В операционной системе XENIX предусмотрены средства проверки на соответствие образцам для указания одновре- менно нескольких файлов, которые соответствуют задан- ному образцу. Например, рассмотрим проблему, которая возникает при присваивании имен частям большого доку- мента, например книги. Логически он может быть разделен на несколько небольших частей, таких, как главы или разделы. Физически он также должен быть разделен, так как редактор системы XENIX vi не может работать с очень большими файлами. Таким образом вы должны разделить документ на несколько файлов. Места, в которых документ разделен, должны сле- довать в логическом порядке. Возможно, вы разделили файл по главам: chap1 chap2 ... Или если каждая глава разбита на несколько файлов вы получите: - 15 - chap1.1 chap1.2 chap1.3 ... chap2.1 chap2.2 ... С первого взгляда видно, какое место конкретный файл занимает в целом документе. Существуют другие преимущества систематического согла- шения по присвоению имен, которые не столь очевидны. А что, если вы захотите напечатать целую книгу на прин- тере? Вы можете ввести: lpr chap1.1 chap1.2 chap1.3 ... но вы быстро устанете и наверняка наделаете ошибок. К счастью, это можно сократить: последовательность имен, содержащих общий образец, можно задать с помощью специ- альных символов. Вот их описание: * Соответствует нулю или более символам. [] Соответствует любому символу внутри скобок. ? Соответствует одному любому символу. Например, вы можете ввести: lpr chap* В системе XENIX звездочка ('*') означает "ноль или более символов любого типа", таким образом указанная команда воспринимается, как "послать на принтер все файлы, имена которых начинаются со слова "chap"". Это сокращение не является свойством только команды lpr; оно может быть использовано в любой команде. Используя этот факт, вы можете вывести имена файлов книги, напечатав: ls chap* В ответ вы получите: chap1.1 chap1.2 chap1.3 ... - 16 - Звездочку можно применять не только в последней позиции в имени файла; она может появляться в любом месте и встречаться несколько раз. Звездочка сама по себе соответствует всем файлам, чьи имена не содержат симво- лов косая черта и не начинаются с точки. Таким образом: cat * выводит все файлы в текущем каталоге на экран вашего терминала. Звездочка не является единственным доступным средством механизма соответствия образцам. Предположим, что вы хотите напечатать только главы от 1 до 4 и 9. Вы можете ввести: lpr chap[12349]* Скобки ( [ и ] ) означают