13.6.3
使用者邮件信箱:
mail
使用
wall, write
毕竟要等到使用者在在线才能够½行,有没有其他方式来联络啊?
不是说每个
Linux
主机上面的用户都具有一个
mailbox
吗?
我们可否寄信给使用者啊!呵呵!当然可以啊!我
们可以寄、收
mailbox
内的信件呢!
一般来说,
mailbox
都会放置在
/var/spool/mail
里面,一个
账号一个
mailbox (
文件
)
。
举例来说,我的
vbird1
就具有
/var/spool/mail/vbird1
这个
mailbox
喔!
那么我该如何寄出信件呢?就直½使用
mail
这个指令即可!这个指令的用法很简单的,直½这样下
达:『
mail -s "
邮件标题
" username@localhost
』即可!
一般来说,如果是寄给本机上的使用者,基
本上,连『
@localhost
』都不用写啦!
举例来说,我以
root
寄信给
vbird1
,信件标题是『
nice to
meet you
』,则:
[root@study ~]#
mail
-
s "nice to meet you" vbird1
Hello, D.M. Tsai
Nice to meet you in the network.
You are so nice. byebye!
.
<==
这
里很重要喔,
½
束
时
,最后一行
输
入小
数点
.
即可!
EOT
[root@study ~]#
<==
出
现
提示字符,表示
输
入完
毕
了!
如此一来,你就已经寄出一封信给
vbird1
这位使用者啰,而且,该信件标题为:
nice to meet you
,
信件内容就如同上面提到的。不过,你或许会觉得
mail
这个程序不好用~
因为在信件编写的过程
中,如果写错字而按下
Enter
½入次行,前一行的数据很难删除ㄟ!
那怎么办?没关系啦!我们使
用数据流重导向啊!呵呵!利用那个小于的符号
( < )
就可以达到取代键盘输入的要求了。也就是说,
你可以先用
vi
½信件内容编好,
然后再以
mail -s "nice to meet you" vbird1 < filename
来½文件内
容传输即可。
例题:
请½你的家目录下的环境变量文件
(~/.bashrc)
寄给自己!
答:
mail
-
s "bashrc file content" dmtsai < ~/.bashrc
例题:
透过管线命令直½½
ls
-
al ~
的内容传给
root
自己!
答:
ls
-
al ~ | mail
-
s "myfile" root
刚刚上面提到的是关于『寄信』的问题,那么如果是要收信呢?呵呵!同样的使用
mail
啊!
假设
我以
vbird1
的身份登入主机,然后输入
mail
后,会得到什么?
[vbird1@study ~]$
mail
Heirloom Mail version 12.5 7/5/10. Type . for help.
"/var/spool/mail/vbird1": 1 message 1 new
>N 1 root Wed Jul 22 02:09 20/671
"nice to meet you"
&
<==
这
里可以
输
入很多的指令,如果要查
阅
,
输
入
.
即可!