Прикладные свободные программы и системы в школе
Шрифт:
Выполнять прикладные задачи, зарегистрировавшись под именем главного пользователя (root), нельзя.
Если вы легальный пользователь машины, администрируемой другим лицом, администратор сообщит вам (или предложит выбрать) ваше регистрационное имя и пароль.
Если вы сами администрируете систему, то, скорее всего, уже создали учетную запись для себя при установке системы.
Далее мы обсуждаем пользовательницу Алису, имеющую учетную запись alice на машине wonderland и знающую свой пароль (мы его не знаем).
На алфавитно-цифровом
После этого программа (это уже не программа регистрации, а программа-оболочка операционной системы) выводит подсказку («приглашение»).
Достаточно типичная подсказка изображена выше; она состоит из регистрационного имени и имени машины, разделенных знаком «@» (читается «эт»), за которыми следует имя текущего каталога. Все это заключено в квадратные скобки, за которыми следует символ подсказки «$».
Возможно, на вашей машине строка подсказки выводится в другом формате. Как и почти всё в открытых системах, формат строки подсказки легко настраивается главным пользователем (для всех пользователей машины) или каждым пользователем для себя.
Чтобы получить строку приглашения, зарегистрировавшись в системе с автоматическим запуском оконной системы «Икс» или на икс-терминале, следует запустить программу эмуляции алфавитно-цифрового терминала (например, поставляемую вместе с «Икс» «xterm»). Способ запуска зависит от конкретного оконного менеджера и/или графической среды, его следует узнать из документации или от администратора.
Выдача подсказки означает, что оболочка готова принимать команды. Команда – это строка, которая будет принята к исполнению после того, как пользователь, введя ее, завершит ввод нажатием клавиши Enter.
До того, как клавиша Enter нажата, команда принята не будет. Отменить набираемую команду до нажатия Enter можно, нажав Control-U. Современные оболочки (такие, как «bash») допускают редактирование командной строки до ее ввода. Если при наборе команды допущена ошибка и замечена до нажатия Enter, можно с помощью стрелок переместить курсор на нужное место, удалить ошибочный символ нажатием клавиш Del («удаление», удаление символа над курсором) или Backspace («забой», удаление клавиши слева от курсора) и вставить правильный символ.
Простые команды состоят из одного слова. Возможно, простейшей (и одной из обязательных к заучиванию) является команда «exit». Эта команда приказывает оболочке немедленно завершиться (Рис. 1-2).
Таким образом Алиса завершила свой первый сеанс работы в системе, состоящий из одной команды выхода. Этой командой заканчивается любой сеанс работы в системе, хотя не всегда она подается в явном виде.
Простая команда
Простая команда – это строка, состоящая из:
(необязательных) присвоений значений переменным окружения команды;
(необязательного) имени команды;
(необязательных и допустимых только после имени команды) аргументов команды.
Эти три части команды разделяются промежутками, в качестве которых обычно выступает символ пробела [16] . Отдельные аргументы также разделяются промежутками. Промежутки в начале и конце строки игнорируются, так же, как и дополнительные промежутки (например, второй идущий подряд знак пробела).
16
Промежутком также является знак табуляции, однако не следует применять табуляцию в этом качестве; большинство современных оболочек использует клавишу табуляции в интерактивном режиме особым способом. На самом деле, промежутком является и символ новой строки, который просто так ввести также не удастся, поскольку нажатие Enter означает ввод (передачу на исполнение) набранной команды.
Выше мы уже познакомились с командой «exit», которая подавалась (вводилась) без аргументов. Вот еще две команды, которые могут подаваться без аргументов: «date», «cal». Обе они относятся к датам календаря.
Команда «date» (Рис. 1-3) выводит текущую дату и время.
Команда «cal» выводит календарь (Рис. 1-4).
Поданная без аргументов, команда «cal» выводит календарь на текущий месяц. Однако она может вывести календарь и на другой месяц, а также на целый год (Рис. 1-5).
Как мы видим, вывод команды может существенным образом зависеть от аргументов. В данном случае смысл аргументов прозрачен: в первом примере ими были порядковый номер месяца и год, соответствующие месяцу, на который мы хотели получить календарь, а во втором – только год.
Синтаксис (допустимые значения и, во многих случаях, порядок следования) аргументов зависит от конкретной команды, так же, как их семантика (смысл).
Нарушение синтаксиса (синтаксическая ошибка оператора) влечет за собой сообщение об ошибке (Рис. 1-6).
Иногда оператор может ввести команду, корректную синтаксически, но не соответствующую задаче, то есть совершить семантическую ошибку. В следующем примере (Рис. 1-7) Алиса хотела получить календарь на апрель пятого года, но перепутала порядок следования аргументов.
Результатом выполнения команды стал вывод календаря за май 4 г. У программы, исполняющей команду, во многих случаях нет шанса «догадаться» о семантической ошибке. В данном случае Алиса, возможно, заметит свою ошибку, поскольку календарь предваряется названием месяца и года, но далеко не всегда ошибка будет такой очевидной [17] .
Ситуация, когда команда, допускающая передачу ей параметров, предполагает некоторые значения этих параметров, если они ей не переданы явно, достаточно типична. В этом случае говорят о поведении команды по умолчанию [18] . Например, команда cal по умолчанию выводит календарь на текущий месяц.
17
По поводу приведенного примера заметим еще, что год «4» соответствует не две тысячи четвертому, и не тысяча девятьсот четвертому годам, а ровно четвертому году от Р.Х.
18
«By default», т.е. «при отказе» от явного указания параметров.