目录
- 1、write命令
- 2、wall命令
- 3、mail 命令
- 使用1:发送邮件
- 使用2:查看已经接收的邮件
- 使用3:发送文件内容
1、write命令
(1)write命令的基本信息
- 命令名称:
write
- 英文原意:
send a message to another user
- 所在路径:
/usr/bin/write
- 执行权限:所有用户。
- 功能描述:向其他用户发送信息。
write
命令的格式如下:
[root@localhost ~]# write 用户名 终端号
# 向在pts/1(远程终端1)登录的user1用户发送信息,使用"ctrl+D"快捷键保存发送的数据
[root@localhost ~ ] # write user1 pts/1
hel1o I will be in 5 minutes to restart,please save your data
(2)登陆终端号
- Linux系统下有6个本地字符终端,用
tty1-6
来表示,每个终端的切换命令的快捷键是:alt+F1-6 - 一个本地图形终端,用
tty7
来表示。
切换使用的快捷键为ctrl+alt+F7
(前提需要安装并启动系统的图形界面,并且快捷键按住3秒以上。)。 - 远程终端,默认用
pts/0-255
来表示,Linux系统还支持再扩展。 - 直接输入
w
,就可以查看所有链接系统的终端,如下图:
最后显示执行w
命令的终端就是当前终端。
提示:
w
命令和ls
命令是一样的,当命令执行之后就消失了,很难抓到两个同时执行w
命令的终端。
(3)练习
1)查看Linux系统中所有链接的用户:
2)向root-tty1
发送信息:
回车后,ctrl+d
进行保存并发送。
3)在root-tty1
客户端查看信息:
2、wall命令
write
命令用于给指定用户发送信息,而wall
命令用于给所有登录用户发送信息,包括你自己。
执行时,在wall
命令后加入需要发送的信息即可。
示例如下:
[root@localhost ~]# wall "I will be in 5 minutes to restart,please save your data"
# 或者输入wall命令回车后,输入需要发送的信息。然后回车后,ctrl+d进行保存并发送。
[root@DevOps ~]# wall
11111122222223333
[root@DevOps ~]#
Broadcast message from rooteDevops (pts/e)(Wed Jan 22 17:20:59 2020):
11111122222223333
3、mail 命令
mail
是Linux的邮件客户端命令,可以利用这个命令给其他用户发送邮件。
mail
命令的基本信息:
- 命令名称:
mail
- 英文原意:
send and receive Internet mail
- 所在路径:
/bin/mail
- 执行权限:所有用户。
- 功能描述:发送和接收电子邮件。
使用1:发送邮件
如果我们想要给其他用户发送邮件,则可以执行如下命令:
# 发送邮件给user1用户
[root@localhost ~]# mail user1
Subject:hello <-邮件标题
Nice to meet you!<-邮件具体内容
. <-使用"."来结束邮件输入
(也可以直接ctrl+d直接保存并发送,都可以)
我们接收到的邮件都保存在/var/spool/mail/用户名
中,每个用户都有一个以自己的用户名命名的邮箱。
使用2:查看已经接收的邮件
我们可以直接在命令行中执行mail
命令,进入mail
的交互命令中,可以在这里查看已经接收到的邮件。
示例如下:
# 未阅读编号发件人时间标题
[root@localhost ~]# mail Heirloom Mail version 12.4 7/29/08.Type?for help.
"/var/spool/mail/root":1 message 1 new
>N 1 root Mon Dec 522:4568/1777 "test mai1" <-之前收到的邮件
>N 2 root Mon Dec 523:0818/602 "hello"
可以看到已经接收到的邮件列表,N
代表未读邮件,如果是已经阅读过的邮件,则前面是不会有这个N
的;之后的数字是邮件的编号,我们主要通过这个编号来进行邮件的操作。如果我们想要查看第一封邮件,则只需输入邮件的编号1
就可以了。
这些交互命令是可以简化输入的,比如headers
命令,就可以直接输入h
,这是列出邮件标题列表的命令。
我们解释一下常用的交互命令:
- 在交互命令中执行
?
,可以查看这个交互界面支持的命令。 headers
:列出邮件标题列表,直接输入h
命令即可。delete
:删除指定邮件。比如想要删除第二封邮件,可以输入d 2
。save
:保存邮件。可以把指定邮件保存成文件,如:s 2/tmp/test.mail
。quit
:退出,并把已经操作过的邮件进行保存。比如移除已删除邮件、保存已阅读邮件等。exit
:退出,但是不保存任何操作。
使用3:发送文件内容
如果我们想把某个文件的内容发送给指定用户,则可以执行如下命令:
# 把/root/anaconda-ks.cfg 文件的内容发送给 root用户
[root@localhost ~]# mail -s "test mail" root < /root/anaconda-ks.cfg
选项:
-s:指定邮件标题
我们在写脚本时,有时需要脚本自动发送一些信息给指定用户,把要发送的信息预先写到文件中,是一个非常不错的选择。(这种方式比较常用,避免了在交互页面中进行操作。)