Система UNIX предполагает возможность коллективной работы и кооперации пользователей. Это требует развитых средств связи пользователей между собой. В системе имеются следующие средства:
Команда write посылает сообщение указанному пользователю в момент исполнения этой команды. Это означает, что адресат должен работать в системе в этот момент. Не многим нравится, когда сообщение приходит, как в данном случае, в случайный момент, в особенности во время набора собственного текста. Поэтому вы должны быть уверены в необходимости такого немедленного взаимодействия.
Типичный пример:
$ write boris Спасайся, красные окружили Белый Дом!!! ^D $
Сообщение заканчивается вводом знака конца файла control-D.
Адресат увидит у себя на экране:
Message from george tty 00 ... Спасайся, красные окружили Белый Дом!!! EOF
Если вы намерены ждать ответа и вести диалог, можно не вводить знак конца файла до конца диалога.
Пример:
$ write mary Поужинаем сегодня вечером? Извини, сегодня я иду громить памятники. (ответ) Тогда завтра? И завтра не могу. Давай на следующей неделе? (ответ) Ну, хорошо. EOF (ответ) ^D $
Получаемые от абонента тексты помечены словом (ответ).
На стороне абонента на экране будет:
$ Massage from peter tty 03 ... Поужинаем сегодня вечером? Извини, сегодня я иду громить памятники. Тогда завтра? И завтра не могу. Давай на следующей неделе? (ответ) Ну, хорошо. ^D $
Чтобы узнать, работает ли абонент в системе в данный момент, введите команду 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 $
Ответ команды завершается тоже восклицательным знаком. Ни команда, ни ответ в текст сообщения не попадают.
Если вы не уверены, что полученные сообщения не нарушат вашу работу (например, ввод текстового файла), вы можете закрыться от посылаемых вам сообщений командой mesg:
$ mesg n $ где n - от no (нет).
Когда вы решите, что уже способны получать сообщения, подайте:
$ mesg y где y - от yes (да).
Эта же команда без параметров подскажет вам, в каком состоянии по приему сообщений вы находились (no или yes), например:
$ mesg is y
т.е. прием разрешен. При входе в систему устанавливается состояние y.
Электронная почта - это средство, позволяющее пользователям посылать друг другу сообщения, которые складываются в почтовые ящики, реализованные внутри системы.
Когда вы входите в систему, вас извещают о наличии для вас почты, например:
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 | - уничтожить; |
| + 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 $
Посылка ответа может быть произведена при просмотре почты.
Например:
?! mail peter Извини, я ..... .......... ^D ! ?
Для просмотра почты из файла введите команду mail с ключом - f:
$ mail -f from_peter
Для выхода из системы mail наберите q.
Например:
? q you have mail $.
Работа с почтой закончена.