Чтение онлайн

ЖАНРЫ

UNIX — универсальная среда программирования
Шрифт:
Ввод команд

Получив приглашение, вы можете ввести команды, т.е. требования к системе что-либо сделать. Мы часто будем употреблять слово программа как синоним команды. Когда на экране появится приглашение (пусть это будет символ

'$'
), введите
date
и нажмите клавишу RETURN. Система в ответ выдаст дату и время и выведет следующее приглашение, так что весь диалог на вашем терминале примет вид:

$ date

Mon Sep 26 12 : 20 : 57 EDT 1983 $

Не

забывайте нажимать клавишу RETURN и не вводите символ
'$'
. Если вам покажется, что о вас забыли, нажмите RETURN, возможно, что-нибудь и произойдет. В дальнейшем мы не будем напоминать вам о том, что символ RETURN должен завершать каждую строку.

Затем попробуйте ввести команду

who
, которая сообщает, кто в данный момент работает в системе:

$ who

rim tty0 Sep 26 11:37

pjw tty4 Sep 26 11:30

gerard tty7 Sep 26 10:27

mark tty9 Sep 26 07:59

you ttya Sep 26 12:20

$

В первом столбце указывается имя пользователя, во втором — системное имя используемого устройства связи (

tty
— сокращение от teletype, "архаическое" обозначение терминала). В третьем столбце отмечаются дата и время входа в систему. Вы можете поэкспериментировать и с такой командой:

$ who am i

you ttya Sep 26 12:20

$

Если вы ошибетесь и укажете при вводе несуществующую команду, система ответит, что команда с этим именем не найдена:

$ whom
Опечатка в имени команды...

whom:not found
поэтому система не знает, как запустить ее

$

Конечно, если вы неумышленно введете имя существующей команды, то она начнет выполняться и, возможно, даст неожиданный результат.

Странное поведение терминала

Иногда ваш терминал может повести себя странно, например, каждая буква будет выдаваться дважды, или при нажатии клавиши RETURN курсор не переместится в первую позицию следующей строки. Обычно это можно устранить, выключив и включив терминал или выйдя из системы и вновь войдя в нее. Можно также прочитать описание команды

stty
("set terminal options" — установка режима терминала) в разделе 1 справочного руководства. Для разумной интерпретации символа
tab
, если на вашем терминале не предусмотрен режим автоматической табуляции, введите команду

$ stty -tabs

и система будет преобразовывать символ tab в определенное число пробелов. Если же на терминале допускается возможность установки позиций табуляции от машины, то команда

tabs
поставит их должным образом. (Вы можете дать и такую команду:

$ tabs terminal-type

см. описание команды

tabs
в справочном руководстве.)

Ошибки при вводе. Если вы ошиблись при вводе и заметили это

прежде, чем нажали клавишу RETURN, то поправить дело можно двумя способами: или стирать символы (но одному), или уничтожить всю строку и ввести ее заново. При нажатии клавиши, служащей для уничтожения строки (обычно это символ
'@'
), вся строка будет удалена, как будто бы вы ее никогда и не вводили, а вам придется выполнить ввод с начала новой строки:

$ ddate@
Уничтожается вся строка:

date
ввод с новой строки

Mon Sep 26 12:23:39 EDT 1983

$

Символ

'#'
стирает последний введенный символ: каждый раз при вводе
#
стирается только один символ слева от курсора. Поэтому если вы не уверены в своем вводе, можно делать поправки по мере работы:

$ dd#atte##e
Исправления в процессе ввода

Mon Sep 26 12:24:02 EDT 1983

$

Представление символов стирания (

#
) и уничтожения (
@
) зависит от системы. Во многих системах (включая используемую здесь для примеров) в качестве символа стирания употребляется "шаг назад", что хорошо смотрится на видеотерминалах. С помощью своей системы вы можете легко проверить, так ли это:

$ datee<-
Пробуем <-

datee<- : not found
Не подходит

$ datee#
Пробуем #

Mon Sep 26 12:26:08 EDT 1983
# подходит

$

(Мы изображаем "шаг назад" как <-, чтобы символ был "виден".) Обычно принимается, что символ ctl-u уничтожает всю строку.

Далее в качестве символа стирания мы будем использовать

#
, поскольку он "виден" на терминале. Если в вашей системе его нет, то сделайте соответствующие изменения. Ниже при описании настройки окружения мы покажем, как задать удобное для вас представление символов стирания и уничтожения.

А что нужно, чтобы ввести сами символы стирания и уничтожения как часть текста? Если перед символами

#
и
@
поставить обратную дробную черту (
\
), то они утрачивают свое специальное назначение. Поэтому для ввода
#
или
@
необходимо набрать на клавиатуре
\#
или
\@
. При вводе
@
система может передвинуть курсор в начало следующей строки, даже если ему предшествовала обратная дробная черта. Не волнуйтесь, символ
@
в текст попадет.

Обратную дробную черту иногда называют символом экранирования. Она указывает на то, что следующий за ней символ в некотором смысле специальный. Для удаления обратной дробной черты необходимо ввести два символа стирания:

\##
. Понятно почему?

Вводимые вами символы, прежде чем попадут к адресату, анализируются и интерпретируются последовательным рядом программ. Поэтому их интерпретация зависит не только от программы, в которую они попали, но и от того, откуда они туда попали.

Поделиться с друзьями: