$ mail nico
Теперь вводите любой текст письма
из любого числа строк...
После последней строки письма введите ctl-d
ctl-d
$
Ввод ctl-d означает, что письмо окончено. Если в процессе составления письма вы передумаете и решите его не отправлять, нажмите клавишу DELETE вместо 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
также можно прекратить, нажав клавишу
DELETE. Заметьте, что ваши ошибки при вводе не появляются на терминале у Mary.
Если вы попытаетесь послать сообщение на терминал тому, кто пока еще не вошел в систему или не хочет, чтобы его беспокоили, вас известят об этом. В том случае, когда адресат находится в системе, но не отвечает за разумный промежуток времени (возможно, он занят или отошел от терминала), просто введите ctl-d или DELETE. Если вы не хотите, чтобы вас беспокоили, используйте команду
mesg(1)
.
Служба новостей
Многие системы UNIX имеют службу новостей, чтобы держать пользователей в курсе интересных и не очень интересных событий. Попробуйте ввести
$ news
Существует также большая сеть систем UNIX, которые связаны но телефонному каналу: справьтесь у местного специалиста о командах
netnews
или USENET.
Справочное руководство
В справочном руководстве по UNIX вы найдете большую часть того, что нужно знать о системе. В разд. 1 включены и те команды, которые мы обсуждали в этой главе. В разд. 2 описываются системные обращения, которые будут темой гл. 7, а в разд. 6 приводится информация об играх. В остальных разделах описываются функции, применяемые пользователями, программирующими на языке Си, а также структура файлов и средства поддержания работоспособности системы. (Число разделов варьируется от системы к системе.) Не забывайте о предметном указателе в начале руководства: вам достаточно бегло просмотреть его, чтобы найти команды, необходимые для вашей работы. Кроме того, существует введение в систему, где дается обзор ее функциональных возможностей. Часто справочное руководство хранится в системе и его можно читать с терминала. Если вам требуется помощь и не к кому обратиться, можно вывести на терминал любую страницу руководства по системе, введя команду man command-name. Так, чтобы получить информацию о команде who, введите
$ man who
и, конечно,
$ man man
выдаст вам сведения о самой команде
man
.
Автоматизированный справочник
В вашей системе может быть команда с именем
learn
, которая реализует автоматизированный справочник по системе файлов, основным командам, редактору, программам подготовки документации и даже языку программирования Си. Введите
$ learn
Если эта команда существует в вашей системе, то она подскажет вам, что делать дальше. Если же ее нет, попробуйте ввести еще
teach
.
Игры
Они не всегда признаются официально, но это один из лучших способов обрести уверенность в общении с машиной и терминалом. Сама система UNIX имеет достаточно скромный набор игр, но он часто пополняется программистами на местах. Поспрашивайте вокруг или обратитесь к разд. 6 своего справочного руководства.
1.2 Повседневная работа: файлы и основные команды
Информация в системе UNIX хранится в файлах, которые весьма похожи на обычные учрежденческие "дела". Каждый файл имеет имя, содержание, место, где он хранится, и некоторую служебную информацию, в частности о владельце файла, размере последнего и т.д. Файл может содержать письмо, список имен и адресов, операторы текста программы, данные, которые будет использовать программа, или даже программы в форме, готовой к выполнению, а также другую нетекстовую информацию.