Система предоставляет почтовые услуги для обмена сообщениями с другими пользователями, так что, войдя однажды в систему, вы увидите на экране до появления приглашения сообщение:
You have mail
Для чтения почты введите:
$ mail
Сообщения будут выведены одно за другим, начиная с самых последних. После каждого сообщения программа mail
ожидает вашего указания, что делать с сообщением. Возможны два основных ответа: ввод символа 'd'
, означающего удаление сообщения, и ввод 'p'
, что означает распечатку сообщения, 's filename'
— сохранение сообщения в поименованном файле и 'q'
— выход из программы mail. (Если вы не знаете, что такое файл, то представьте его себе как место, где можно хранить информацию под выбранным вами именем, а затем получать ее оттуда. Файлы рассматриваются в разд. 1.2, как, впрочем, и в большей части этой книги.)
mail
— именно та программа, которая, вероятно, будет отличаться от описываемой здесь, поскольку существует много вариантов такой программы. Более детально вы можете познакомиться с ней по своему справочному руководству.
Послать почту кому-нибудь весьма просто. Допустим, она предназначена для пользователя с входным именем nico
. Легче всего это сделать так:
$ mail nico
Теперь вводите любой текст письма
из любого числа строк...
После последней строки письма введите ctl-d
ctl-d
$
Ввод dead.letter
.
Для проверки пошлите письмо самому себе, а затем введите mail
, чтобы прочитать его. (Это не так странно, как может показаться, и представляется удобным механизмом напоминания.) Существуют и иные способы посылки почты: можно послать заранее подготовленное письмо, направить почту нескольким адресатам одновременно и даже переслать почту пользователям, работающим на других машинах (подробнее об этом см. в описании команды mail
в разд. 1 справочного руководства по UNIX.) В дальнейшем мы будем применять обозначение mail(1)
для страницы, описывающей команду mail
в разд. 1 справочного руководства.
Имеется также служебная программа calendar
для печати календаря (см. calendar(1)
); в гл. 4 мы покажем, как создать такую программу, если она отсутствует.
Сообщение для других пользователей. Если ваша система UNIX многопользовательская, то как-нибудь однажды на вашем терминале может появиться сообщение типа
Message from mary tty 7...
сопровождаемое пугающим жужжанием. Пользователь Mary
хочет что-то сообщить вам, но, если вы не совершите определенных действий, то не сможете ей ответить. Поэтому введите
$ write mary
чтобы установить двустороннюю связь. Теперь вы с Mary сможете обмениваться сообщениями, хотя эта линия связи очень медленная, словно ваш абонент находится на Луне.
У вас может появиться желание во время выполнения программы задать ту или иную команду для shell
. Обычно, какая бы программа ни выполнялась, она должна быть приостановлена либо остановлена но некоторые программы, такие, как редактор или сама команда write
, имеют специальную команду 'T'
для временного выхода в интерпретатор shell
(см. табл. 2 приложения 1).
Команда write
не накладывает никаких ограничений, поэтому необходим протокол общения, чтобы ваш ввод не перемешивался с тем, что вводит Mary. Существует соглашение, согласно которому ввод следует осуществлять порциями, оканчивающимися символами (о
), что означает конец ввода ("over"), а для сигнализации о прекращении связи использовать (oo
) ("over" и "out" — конец и выход).
Терминал mary Ваш терминал
$ write you $ Message from mary tty7...
write mary
Message from ttya...
did you forget lunch?(o)
did you forget lunch?(o)
five@
ten minutes(o)
ten minutes(o)
ok(oo)
ok(oo)
ctl-d
EOF
ctl-d
$ $ EOF
Выполнение команды write
также можно прекратить, нажав клавишу
Если вы попытаетесь послать сообщение на терминал тому, кто пока еще не вошел в систему или не хочет, чтобы его беспокоили, вас известят об этом. В том случае, когда адресат находится в системе, но не отвечает за разумный промежуток времени (возможно, он занят или отошел от терминала), просто введите mesg(1)
.