ГЛАВА 2 ПРИНЦИПЫ РАБОТЫ С СИСТЕМОЙ UNIX СОДЕРЖАНИЕ ВВЕДЕНИЕ 2 2.1 ТЕРМИНАЛ 3 2.1.1 Подключение терминала 3 2.1.2 Клавиатура 3 2.1.3 Соглашение о символах 4 2.1.3.1 Приглашение 5 2.1.3.2 Исправление ошибок набора 6 2.1.3.3 Использование специальных символов как обычных литер 7 2.1.3.4 Опережающий ввод 8 2.1.3.5 Прекращение выполнения команды 8 2.1.3.6 Использование управляющих символов 8 2.2 ВХОДНОЕ ИМЯ 10 2.3 УСТАНОВЛЕНИЕ КОНТАКТА С СИСТЕМОЙ UNIX 11 2.3.1 Процедура входа 12 2.3.1.1 Пароль 12 2.3.1.2 Возможные проблемы при входе 14 2.3.2 Простые команды 16 2.3.3 Команда help 16 2.3.4 Выход из системы 18 ВВЕДЕНИЕ Глава является руководством по использованию ОС UNIX. В ней со- держится информация об обращении с терминалом, о том, как войти в систему и выйти из нее, выполнить простые команды. Для установки контакта с системой UNIX Вам потребуются: терминал; инструкции для доступа к системе в случае, если пользовательский терминал не подключен напрямую к компьютеру; входное имя и пароль (по которым система UNIX регистри- рует Вас, как одного из своих пользователей). 2.1 ТЕРМИНАЛ Терминал - это устройство ввода/вывода. Пользователь набирает на клавиатуре запросы, а система выводит на экран результаты их обработки. 2.1.1 Подключение терминала Для работы с системой UNIX необходимо должным образом настроить терминал. Новичкам следует обратиться за помощью к более опыт- ным коллегам. Способ настройки зависит от типа терминала. Настройка может производиться переключателями либо с клавиатуры. Необходимая информация об этом содержится в инструкции к терминалу. Перед тем, как пытаться войти в систему UNIX, необходимо произ- вести определенную последовательность действий. 1. Включить питание терминала. 2. Включить терминал в линию. После этого терминал будет находиться под непосредственным управлением компьюте- ра. 3. Установить терминал в дуплексный режим. В этом режиме осуществляется двусторонняя (ввод/вывод) связь между пользователем и системой UNIX. 4. Eсли терминал не соединен напрямую с компьютером - проверить, установлено ли сопрягающее устройство в дуплексный режим. 5. Ввод символов установить на режим строчных букв. Если терминал работает только с прописными литерами, систе- ма UNIX приспособит выдаваемую информацию под этот режим. 6. Установить режим "без контроля четности". 7. Установить скорость передачи информации. Это скорость взаимодействия компьютера с терминалом; обычно она принимает значения от 300 до 19200 бод. 2.1.2 Клавиатура Стандарта на расположение клавиш на клавиатуре не существует. Однако, для всех типов клавиатур принят стандартный набор из 128 символов, называемый кодом ASCII (Американский Стандартный Код для Информационного Обмена). Клавиатура типичного терминала, работающего в коде ASCII, нем- ного отличается от клавиатуры пишущей машинки. Кроме буквенно цифровых, на ней есть функциональные и управляющие клавиши. Состав клавиатуры: буквы английского алфавита (прописные и строчные); цифры (от 0 до 9); символы (включая !@#$%^&()_-+=~'{}[]\:;"`<>,?/); специальные слова (например, BREAK), сокращения (DEL, CTRL или ESC и др.); функциональные клавиши (F1, F2...). 2.1.3 Соглашение о символах В системе UNIX требуется вводить команды строчными буквами (ес- ли команда не содержит прописных букв). Некоторым клавишам предписано выполнение определенных функций, что облегчает рабо- ту пользователя. Символы, обозначающие операции, называются специальными. Ниже в таблице приведены назначения специальных символов. Далее дано их детальное описание. | +------------+--------------------------------------------------+ | | КЛАВИШИ | НАЗНАЧЕНИЕ | | +------------+--------------------------------------------------| | | | | | | $ | Приглашение системы | | | | | | | # | Стирание символа | | | | | | | @ | Стирание (уничтожение) строки | | | | | | | | Остановка выполнения программы или команды | | | | | | | | Удаление текущей командной строки | | | | | | | | В сочетании с другими символами является | | | | специальной функцией (называемой управляю- | | | | щей последовательностью) | | | | | | | | Окончание строки, переход на новую строку | | | | | | | <^d> | Конец входных данных или выход из системы | | | | | | | <^h> | Пробел для терминалов без этой клавиши | | | | | | | <^i> | Горизонтальная табуляция для терминалов без | | | | клавиши табуляции | | | | | <^s> | Приостановка вывода на экран | | | | | <^q> | Возобновление вывода на экран после оста- | | | новки командой <^s> | +------------+--------------------------------------------------+ 2.1.3.1 Приглашение Стандартный символ приглашения системы UNIX - знак доллара ($). Появление этого символа на экране означает, что система UNIX ждет запросов пользователя. Ответом на это приглашение является ввод команды. Знак $ не единственно возможный символ приглашения. В гл. 5 описано, как заменить его на другой. 2.1.3.2 Исправление ошибок набора Символ @ Если набранная Вами строка содержит ошибку, воспользуйтесь кла- вишей @. При нажатии этой клавиши знак @ добавится к концу строки, и курсор перейдет на следующую строку. Содержащая ошиб- ку строка не сотрется с экрана, но проигнорируется системой. Клавиша @ действует только для текущей строки. Разумеется, пользоваться ею имеет смысл только до нажатия клавиши возврата каретки. Символ # Нажимая клавишу # после набора очередного символа, Вы обеспечи- ваете его игнорирование при вводе команды; далее следует наб- рать верный символ (символ # должен находиться между ошибкой и исправлением). Можно опустить и более одного символа, набрав соответствующее количество знаков #. Например, в следующей командной строке удаляются две литеры. dattw##e Система UNIX интерпретирует данную строку, как верно набранную команду date. Клавиша забоя Многие предпочитают использовать для удаления клавишу забоя вместо #. При этом курсор возвращается назад, стирая ошибочный символ, и на экране ничего не появляется. После окончания кор- ректировки с помощью клавиши возврата, текст выглядит так, как если бы он был набран правильно с самого начала. Использование клавиш # и забоя одинаково эффективно, однако клавиша возврата дает более наглядную информацию о происходя щем. Примечание Некоторые терминалы не воспринимают # в качестве симво- ла удаления. Переназначение функций удаления Можно использовать другие клавиши для обозначения стирания строк и символов. Если переназначение производится для одного сеанса работы, то следует использовать соответствующую команду shell'а; после выхода из системы функции опять возвратятся кла- вишам # и @. Для того, чтобы использовать замену регулярно, не- обходимо описать это переназначение в файле с именем .profile. Инструкции по временному и постоянному переназначению функций находятся в гл. 5. При переназначении функций стирания нужно помнить следующее: ОС UNIX позволяет иметь только одну клавишу для выполнения определенной функции. В случае переназначения прежняя клави- ша теряет свою функцию. Переназначения распространяются на все программы системы UNIX, в которых применяется данная функция клавиши. Напри- мер, диалоговый текстовый редактор ed позволяет делать исп- равления в тексте той же клавишей, которая используется в командной строке shell'а. Поэтому, если функция стирания пе- редана клавише забоя, то следует использовать последнюю для стирания при работе в редакторе ed (клавиша # не будет рабо- тать для стирания). Переназначения, описанные в .profile, не работают, пока пользователь не войдет в систему. Поэтому при корректировке входного имени или пароля следует пользоваться клавишей #. 2.1.3.3 Использование специальных символов как обычных литер Как быть, если нужно использовать специальный символ как обыч- ную литеру в тексте? Поскольку эти символы интерпретируются системой как команды, то следует сообщить системе, чтобы она игнорировала специальное значение. Это позволяет сделать обрат- ная наклонная черта (\). Наличие \ перед специальным символом означает, что данный символ не несет специального значения и должен рассматриваться, как часть текста. Допустим, Вы набираете предложение: |Only one # appears in this sheet of music. Чтобы система не восприняла # как команду "стереть символ", ред # надо поставить наклонную черту: |Only one \# appears in this sheet of music. В противном случае будет удален символ после слова one, и вве- дено предложение: |Only one appears in this sheet of music. 2.1.3.4 Опережающий ввод После появления приглашения на экране, пользователь может наби- рать текст с любой удобной скоростью. Допустимо посылать запро- сы даже во время выполнения команд и когда происходит выдача результатов. Поскольку вводимая Вами и выдаваемая системой ин- формация появятся на экране одновременно, текст на экране будет искажен. Это несколько неудобно для пользователя, однако, на работу системы UNIX не влияет, так как входные и выходные дан- ные хранятся отдельно. Выводя ответ на предыдущий запрос, сис- тема способна принимать и хранить новые данные (текущий зап- рос). 2.1.3.5 Прекращение выполнения команды Если необходимо остановить выполнение команды, следует нажать клавишу прерывания BREAK или клавишу стирания. На экране поя- вится приглашение системы. Это значит, что выполнение предыду щей команды прекращено и можно посылать следующий запрос. 2.1.3.6 Использование управляющих символов Найдите на клавиатуре управляющую клавишу. Она может быть обоз- начена CONTROL или CTRL и, возможно, находится слева от клавиши A или ниже клавиши Z. Управляющая клавиша всегда используется в комбинации с другими клавишами. Символы, введенные таким обра зом, называются управляющими. Некоторые управляющие символы вы- полняют обычные функции, например, забоя или табуляции. Другие определяют специфические для системы UNIX команды. Например, один из управляющих символов временно приостанавливает выдачу информации на экран. Для ввода управляющего символа следует одновременно нажать две клавиши: управляющую и соответствующую этому символу. Управляю- щие символы обычно не отображаются на экране; в данном руко- водстве принято отмечать это заключением в угловые скобки (см. "Условные обозначения" в предисловии). Управляющая клавиша обозначается символом (^) перед буквой. Так, например, <^s> обозначает ввод управляющего символа s. Чаще всего используются управляющие символы для управления вы водом на экран и для выхода из системы. Чтобы приостановить вы- вод на экран дисплея, наберите <^s>; когда Вы будете готовы чи- тать информацию дальше - <^q>, вывод продолжится. Чтобы выйти из системы UNIX, наберите <^d>. (См. также "Выход из системы" далее в этой главе.) Управляющие символы также дублируют возможности функциональных клавиш. Например, вместо клавиши забоя можно использовать <^h>, табуляцию осуществляет символ <^i> и т. д. После настройки терминала и изучения клавиатуры, до установле- ния контакта с системой UNIX остался один шаг: нужно получить входное имя. 2.2 ВХОДНОЕ ИМЯ Входное имя - это имя, по которому система UNIX идентифицирует пользователя. Оно называется так, поскольку его необходимо вво дить при входе в систему. Чтобы зарегистрировать входное имя, следует обратиться к сис- темному администратору. Входное имя пользователь выбирает сам, администратор лишь следит за тем, чтобы имена не повторялись. Из практических соображений лучше использовать свои инициалы, фамилию, прозвище. Входное имя должно начинаться с буквы и иметь длину от трех до восьми символов. Допустимо использование только букв и цифр нижнего регистра. Примеры разрешенных входных имен: petrov, mary2, jmrs, acct123. 2.3 УСТАНОВЛЕНИЕ КОНТАКТА С СИСТЕМОЙ UNIX Обычно для работы с UNIX используют терминал либо непосредст- венно подключенный к компьютеру, либо сообщающийся с ним по те- лефону. Примечание В этом разделе описывается типичная процедура входа, которая, однако, может оказаться неприменимой к Вашей системе. Есть много способов входа в систему UNIX по телефонной линии. Меры предосторожности могут требовать использования специального номера телефона или другого кода. В этом случае, за инструкциями по входу в систему обратитесь к системному администратору. Включите Ваш терминал. Если он соединен непосредственно с компьютером, то появится приглашение login: в верхнем левом уг- лу экрана. Если терминал соединяется с компьютером по телефонной линии, т необходимо установить связь следующим образом: 1. Наберите телефонный номер, связывающий Вас с системой UNIX. Короткие гудки. Это означает, что либо занят номер, либо перегружена линия. Повесьте трубку и попытай- тесь связаться снова. Длинные гудки. Обычно это означает, что либо есть неполадки на телефонной линии, либо система не рабо- тает из-за механических или электронных повреждений. Попытайтесь связаться снова чуть позже. Непрерывный гудок. Система доступна. 2. Когда Вы услышите последний из перечисленных сигналов, поло- жите трубку телефона в акустический соединитель или тут же нажмите кнопку на связующем устройстве (см. инструкции к со- ответствующим аппаратам). Затем положите трубку обратно на рычаг. 3. Через несколько секунд приглашение login: появится в левом верхнем углу экрана. 4. На экране могут появляться бессмысленные группы символов. Дело в том, что устройство сопряжения с телефонной линией может передавать информацию с разными скоростями. Система попробовала использовать одну из них, но оказалось, что тер- минал установлен на другую скорость. Нажмите клавишу преры- вания или возврата каретки: это укажет системе на необходи мость изменить скорость. Если система не выдаст приглашение login: в течение нескольких секунд, нажмите клавишу снова. О процедуре установления связи, применимой к Вашей конкретной системе, можно узнать, обратившись к системному администратору. 2.3.1 Процедура входа При появлении приглашения login: введите свое входное имя. Нап ример, если входное имя petrov, строка будет выглядеть так: login: petrov Примечание Не забывайте пользоваться буквами только нижнего ре- гистра. При использовании во время входа верхнего ре- гистра, система UNIX будет работать только с символами верхнего регистра до следующего входа в систему. Она будет принимать и выполнять многие команды, написанные в верхнем регистре, но не позволит редактировать файлы. 2.3.1.1 Пароль Далее система запрашивает пароль. Введите его. Из соображений безопасности пароль не отображается на экране. Выбирая пароль, соблюдайте следующие требования: Всякий пароль должен состоять как минимум из шести сим- волов. Однако, только первые восемь символов являются значащими. Всякий пароль должен содержать по меньшей мере два ал- фавитных символа (буквы могут быть верхнего или нижнего регистров) и как минимум одну цифру или специальную ли- теру. Остальные символы могут любыми (включая пробел). Всякий пароль должен отличаться от входного имени и слов, полученных перестановкой букв входного имени. Новый пароль должен отличаться от старого по крайней мере тремя символами. В этом смысле буквы верхнего и нижнего регистров эквивалентны. Примеры правильных паролей: mar84ch, Jonath0n и BRAV3S. Примечание Система UNIX, с которой Вы работаете, может иметь дру- гие требования к выбору пароля. Если и входное имя и пароль приемлемы, выдается сообщение о да- те и/или новости, а затем приглашение $. (Сообщение о дате мо- жет содержать таблицу состояния системы, а новости могут вклю чать сообщения о новых системных программах.) После того как Вы войдете в систему, экран будет выглядеть так: | login: petrov | password: | UNIX system news | $ Если в наборе при входе сделана ошибка, выдается сообщение: Lo- gin incorrect. Затем пользователю предоставляется еще один шанс войти в систему: | login: petrof | password: | Login incorrect | login: Вход может окончиться неудачей из-за того, что нарушена связь между терминалом и системой UNIX. В таких случаях необходимо заново установить контакт. За инструкциями обращайтесь к сис- темному администратору. Процедура входа может отличаться от приведенной выше. Это объ ясняется тем, что некоторые системные администраторы придержи ваются оптимальной с точки зрения безопасности стратегии прис- ваивания временных паролей новым пользователям. Если у пользо- вателя есть временный пароль, система потребует изменить его при входе. Когда у каждого пользователя свой пароль, меньше шансов на не- санкционированный доступ и повреждение системной и личной ин- формации. Степень защищенности информации зависит от умения сохранять пароли в секрете. Порядок действий при входе в систему в первый раз: 1. Вы устанавливаете контакт; система UNIX выдает приглаше- ние login: . Введите входное имя. 2. Система выдает приглашение password: . Введите временный пароль. 3. Система сообщает, что Ваш временный пароль потерял силу и необходимо выбрать новый. 4. Система просит повторить старый пароль. Введите его. 5. Система запрашивает новый пароль. Введите выбранный Вами пароль. 6. Для проверки система просит ввести новый пароль еще раз. Сделайте это. Ниже показан вид экрана после выполнения процедуры входа. | login: petrov | password: | Your password has expired. | Choose a new one. | Old password: | New password: <1 N_E_W> | Re-enter new password: <1 N_E_W> | $ Если при повторном вводе нового пароля Вы ошибетесь, система сообщит, что пароль не тот и попросит повторить ввод. Однако, в некоторых системах связь после допущения ошибки может быть оборвана. В этом случае процесс входа придется повторить с са- мого начала. 2.3.1.2 Возможные проблемы при входе Поведение терминала предсказуемо, если он правильно подключен. Иногда, тем не менее, в его работе появляются некоторые особен- ности. Например, возврат каретки может не работать должным об- разом. Некоторые проблемы могут быть решены простым выходом из системы и последующим повторным входом. Если и повторный вход не устра- няет проблему, необходимо проверить следующее, а затем уже пы- таться войти в систему вновь. | +--------------------------------------------------------------+ | | клавиатура Клавиши CAPS, LOCAL, BLOCK и т.д. не должны | | | быть в нажатом положении. Отменить их действие | | | можно просто нажав на них. | | | | | | телефон Если терминал соединен с компьютером через те- | | | или лефонную линию, проверьте, верно ли установлены | | | модем скорость передачи информации и режим связи | | | (дуплексный). | | | | | | переключа- Некоторые терминалы имеют переключатели, кото- | | | тели рые необходимо установить в определенное поло- | | | жение для работы с UNIX. Если у Вас такой тер- | | | минал, убедитесь в правильности установки. | | +--------------------------------------------------------------+ Информация о подключении терминала содержится в одноименном разделе данной главы. Если необходима дополнительная информация о клавиатуре, терминале или модеме, обращайтесь к соответствую- щим руководствам. Ниже приводится список возможных проблем при входе в систему, а также пути их решения. --+-----------------------+ | | ПРОБЛЕМА | ВОЗМОЖНАЯ ПРИЧИНА | ДЕЙСТВИЯ | |--------------------+-----------------------+----------------- | | Бессмысленные | Неправильно установ- | Нажмите | | символы | лена скорость работы | или BREAK. | | | | | | Ввод/вывод по- | Терминал подключен | Выйдите из сис- | | является в бук- | для работы в верх- | темы и установи- | | вах верхнего | нем регистре | те терминал в | | регистра | | режим генерации | | | | букв нижнего ре- | | | | гистра | | | | | | Ввод появляет- | Нажата клавиша CAPS | Нажмите CAPS или | | ся в нижнем, а | (или CAPS LOCK) | CAPS LOCK | | | вывод в верхнем | | | | | регистре | | | | | | | | | | Входные данные | Терминал установлен | Установите режим| | | читаются дважды | в полудуплексный ре- | полного дуплекса| | | | жим | | | | | | | | | Клавиша табуля- | Табуляция установле- | Наберите | | | ции не работает | на неправильно | stty -tabs | | | | | | | | Связь не устанав- | Терминал установлен | Включите терми- | | ливается, хотя | в автономный режим | нал в диалоговый | | слышен непрерыв- | | режим и попытай- | | ный гудок | | тесь войти в си- | | | | стему | | | | | | Связь между терми- | Неполадки в телефон- | Обратитесь к | | налом и системой | ной линии или неис- | системному ад- | | UNIX периодически | правен комуникацион- | министратору | | прерывается | ный порт | | +--------------------+-----------------------+-----------------+ Примечания Многие проблемы возникают из-за неправильной установки характеристик терминала. Чтобы избежать таких ошибок - перед тем как войти в систему проверьте подключение (см. разд. "Подключение терминала"). Некоторые проблемы возникают из-за особенностей конк- ретного терминала, модема или телефонного адаптера. Смотрите описание соответствующего устройства, если приведенные выше действия не дали ожидаемого результа- та. Набирая stty -tabs, Вы устанавливаете табуляцию только для текущего сеанса работы. Для того, чтобы установить табуляцию для всех сеансов, добавьте строку stty -tabs в .profile (см. гл.5). 2.3.2 Простые команды Появление на экране приглашения означает, что система готова к работе; она ожидает запрос на выполнение програмы - ввода ко- манды. Для начала выполните, например, команду date. После появления приглашения наберите команду и нажмите клавишу возврата карет- ки. Система UNIX найдет программу с именем date, выполнит ее и выдаст результат на экран, как показано ниже. |$ date |Wed Oct 15 09:49:44 EDT 1986 |$ Как видим, команда date выдает время и дату, используя 24-часо вую шкалу времени. Теперь введите команду who. На экране появится следующая инфор- мация: |$ who |petrov tty00 Oct 12 8:53 |mary2 tty02 Oct 12 8:56 |acct123 tty05 Oct 12 8:54 |jmrs tty06 Oct 12 8:56 |$ Команда who сообщает входные имена всех, кто в настоящее время работает в Вашей системе. Обозначения tty относятся к специаль- ным файлам, которые связаны с терминалами каждого пользователя. Также показаны дата и время входа каждого пользователя в систе му. 2.3.3 Команда help В процессе работы Вы можете обращаться к программе help, кото- рая содержит справочную информацию о командах и терминах UNIX'а, а также о поиске команд, необходимых для выполнения конкретной задач Примечание Команда help есть не во всех системах UNIX; чтобы уз- нать есть ли она в Вашей системе, обратитесь к систем- ному администратору. Вы ввели команду help. Программа предлагает выбрать один из че- тырех способов, которыми она может помочь: предоставление общей информации; нахождение команды для выполнения конкретного зада- ния; предоставление инструкций по использованию конкретной ко- манды; разъяснение терминов. Следующий пример показывает как появляется этот список. | $ help | | help: HELP-система UNIX'а | | вариант описание | | s starter: общая информация | | l locate: найти команду по ключевому слову | | u usage: информация о командах | | g glossary: определения терминов | | | r Переназначить вывод в файл | q Стоп | | Выберите > _ Каждая альтернатива в этом меню (starter, locate, usage и glos- sary) - это интерактивная программа. Выберите одну из этих программ введя соответствующий символ (например, u). Поскольку starter, locate, usage и glossary являются программа- ми, их можно вызывать непосредственно из shell'а (не вводя ко- манды help). В этом случае следует вводить их имена как самос- тоятельные команды или как аргументы команды help. Например, чтобы вызвать программу usage, можно использовать команды: |help usage или |usage В результате Вы увидите информацию о возможностях данной прог- раммы, меню, соответствующие инструкции и примеры их примене- ния. Таким образом, взаимодействуя с программй help, Вы посте- пенно получаете необходимую информацию. 2.3.4 Выход из системы Если Вы завершили сеанс работы с системой UNIX, наберите <^d> после приглашения. (Помните, что управляющие символы типа <^d> набираются путем нажатия соответствующей алфавитной клавиши при нажатой управляющей клавише. Эти символы не появляются на экра- не.) Через несколько секунд система UNIX выдаст приглашение lo gin: . |$ <^d> |login: Приглашение login: подтверждает, что Вы успешно вышли из систе- мы, и она готова к следующему сеансу работы. Примечание Всегда выходите из системы, набирая <^d> перед тем, как выключить терминал или разъединить телефонную связь. Если этого не сделать, то может оказаться, что на самом деле Вы не вышли из системы. Команда exit также позволяет выходить из системы, но она редко используется. Она может пригодиться, если Вам понадобится вста- вить команду выхода из системы в shell-процедуру (см. sh(1) в Справочнике пользователя).