9. СВЯЗЬ ПОЛЬЗОВАТЕЛЬ-ПОЛЬЗОВАТЕЛЬ

Система UNIX предполагает возможность коллективной работы

и кооперации пользователей. Это требует развитых средств

связи пользователей между собой. В системе имеются следующие

средства:

- команда write для непосредственной посылки сообщения

другому пользователю;

- средство mail, реализующее электронную почту.

9.1. Посылка сообщений командой write

Команда write посылает сообщение указанному пользователю

в момент исполнения этой команды. Это означает, что адресат

должен работать в системе в этот момент. Не многим нравится,

когда сообщение приходит, как в данном случае, в случайный

момент, в особенности во время набора собственного текста.

Поэтому вы должны быть уверены в необходимости такого немед-

ленного взаимодействия.

Типичный пример:

$ write boris

Спасайся, красные окружили Белый Дом!!!

^D

$

 

 

- 77 -

Сообщение заканчивается вводом знака конца файла

control-D.

Адресат увидит у себя на экране:

Message from george tty 00 ...

Спасайся, красные окружили Белый Дом!!!

EOF

Если вы намерены ждать ответа и вести диалог, можно не

вводить знак конца файла до конца диалога.

Пример:

$ write mary

Поужинаем сегодня вечером?

Извини, сегодня я иду громить памятники. (ответ)

Тогда завтра?

И завтра не могу. Давай на следующей неделе? (ответ)

Ну, хорошо.

EOF (ответ)

^D

$

Получаемые от абонента тексты помечены словом (ответ).

На стороне абонента на экране будет:

$ Massage from peter tty 03 ...

Поужинаем сегодня вечером?

Извини, сегодня я иду громить памятники.

Тогда завтра?

И завтра не могу. Давай на следующей неделе? (ответ)

Ну, хорошо.

^D

$

 

 

- 78 -

 

Чтобы узнать, работает ли абонент в системе в данный мо-

мент, введите команду who.

Пример:

$ who

george tty 00 08:30

peter tty 03 08:31

boris tty 07 04:12

mary tty 08 09:01

Текст сообщения можно взять из файла, перенаправляя стан-

дартный ввод для write из этого файла.

Пример (сообщение из файла message):

write peter < message

Текст сообщения можно формировать, выполняя команды внут-

ри текста. В этом случае команде предшествует восклицатель-

ный знак, например:

$ write peter

Нужные тебе файлы в каталоге:

!pwd

/users/mary/docs/specs

!

/users/mary/docs/specs

^D

$

 

 

- 79 -

Ответ команды завершается тоже восклицательным знаком. Ни

команда, ни ответ в текст сообщения не попадают.

Если вы не уверены, что полученные сообщения не нарушат

вашу работу (например, ввод текстового файла), вы можете

закрыться от посылаемых вам сообщений командой mesg:

$ mesg n

$

где n - от no (нет).

Когда вы решите, что уже способны получать сообщения, по-

дайте:

$ mesg y

где y - от yes (да).

Эта же команда без параметров подскажет вам, в каком сос-

тоянии по приему сообщений вы находились (no или yes), нап-

ример:

$ mesg

is y

т.е. прием разрешен. При входе в систему устанавливается

состояние y.

 

9.2. Электронная почта (mail)

Электронная почта - это средство, позволяющее пользовате-

лям посылать друг другу сообщения, которые складываются в

почтовые ящики, реализованные внутри системы.

Когда вы входите в систему, вас извещают о наличии для

вас почты, например:

 

 

- 80 -

login: mary

password: ...

you have mail

$

В отличие от write в системе mail о приходе для вас почты

вас известят, когда вы закончите текущую работу, печатая со-

общение:

you have mail (для вас есть почта).

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

$ mail

Form peter Wed Jun 9 17:58:23 1991

Завтра в 16:30 можно поиграть в теннис.

Где встретимся?

?

Подсказка (?) означает, что система mail ждет указания о

том, что делать с почтой: печатать, сохранить, уничтожить

или выйти из команды mail.

Введя знак вопроса, вы получите меню возможных действий:

   ??
   q quit                       - закончить;
   x exit without changing mail - выйти без изменения почты;
   p print                      - печатать;
   s [file] save                - сохранить в файле;
   w [file] same without header - то же без заголовка;
   - print previous             - печатать предыдущее;
   d delete                     - уничтожить;

 

- 81 -

   + next (no delete)           - следующее (не уничтожать);
   m user mail to user          - переправить другому
                                  пользователю;
   !cmd execute cmd             - выполнить команду;
   ?

Кроме этих десяти действий вы можете также ввести

control-D (то же, что и q) или нажать клавишу возврата ка-

ретки.

При сохранении почты в файле на экране высвечивается сле-

дующее письмо, если оно есть:

? s from_peter

From peter

...........

?

Можно переслать данное письмо другим пользователям.

Например:

? m mary boris george

?

Для посылки почты введите команду mail с параметром -

именем пользователя и введите текст письма, заканчивая его

знаком конца файла (control-D).

Например:

$ mail peter

Извини, я не смогу играть завтра.

Мне надо получить талоны на сахар и табак.

^D

$

 

 

- 82 -

Посылка ответа может быть произведена при просмотре почты.

Например:

?! mail peter

Извини, я .....

..........

^D

!

?

Для просмотра почты из файла введите команду mail с клю-

чом - f:

$ mail -f from_peter

Для выхода из системы mail наберите q.

Например:

? q

you have mail

$.

Работа с почтой закончена.