Linux网络命令--write和wall命令
1 网络命令:write
1.1 命令说明
指令名称:write
指令所在路径:/usr/bin/write
执行权限:所有用户
语法:write <用户名> 此处用户名是指接收信息的用户
功能描述:给在线用户发信息,以Ctrl+D保存结束。
范例:#write sophia
题外话:历史上最古老的即时通信,相当于QQ的前身。
1.2 前提条件
(1)所有的通讯用户必须都登录在本台服务器上才可以;
(2)如果信息接收用户当前不在线,那么信息是发送不出去的(可通过命令“w”来查看当前有哪些在线用户)。
顺便说明一下新增用户,以及同时登录多个用户的具体操作:
1)新增用户
命令格式:useradd 用户名
2)给新增用户设置密码
命令格式:passwd 用户名
然后根据提示输入用户密码
操作示意图如图1所示:
图1 新增用户
3)同时登录多个用户
参照图2所示:
图2 登录多个用户
4)查看当前在线用户
命令:w
操作示意图如图3所示:
图3 查看当前在线用户
1.3 应用举例:
1.3.1 信息发送方发送信息
命令演示:
[root@localhost~]#write sophia
sophia is not sophie
but sophia is the same as sophie in meaning
命令操作结果示意图如图4所示:
图4 write命令执行结果示意图
注意:
(1)命令输入后按回车键,光标会自动移动到下一行的起始位置,等待继续输入通讯内容。
(2)在输入通讯内容的过程中,如果不慎写错了字,此时按退格键是删不掉的,需要按Ctrl+退格键才能清除掉输入错误的字。
(3)内容输入完程之后,按回车键是不会提交书写的内容的,只是简单的换到了下一行提示继续输入信息,如果需要提交信息,则需要按Ctrl+D保存结束。
1.3.2 信息接收方接收信息
如果需要查看信息发送方提交的信息内容,则需要在指定的接收信息的用户(此处即sophia用户)下查看。如图4展示内容所示,打开sophia用户界面即可看到上述提交的信息已经自动显示在该用户下了。
接收方接收到的信息内容的第一行显示如下所示:
Message fromroot@localhost on pts/0 at 14:51 ....
其中:
root@localhost:表示发送方为本机用户中的root用户
pts/0:表示发送终端为远程终端的第一个终端
14:51:表示信息发送的时间
第二行开始显示接收到的具体信息内容
最后一行显示:EOF 表示终结符
查看信息后按enter键,即可正常显示命令输入提示行。
2 网络命令:wall
2.1 命令说明
指令名称:wall
命令英文原意:write all
指令所在路径:/usr/bin/wall
执行权限:所有用户
语法:wall [message]
功能描述:发广播信息,即给所有在线用户发信息。
范例:#wall sophia is a beautiful girl !
与write命令不同,wall命令发送信息提交之后,当前在线的所有用户均可收到信息内容,包括发送广播信息的用户本身。
2.1 应用举例
命令演示:
[root@localhost~]#wall sophia is a beautiful girl !
按Ctrl+D提交信息后所有在线用户(包括当前发送广播信息的用户,以及本地登录终端)都会显示如下所示信息:
[root@localhost~]#
Broadcastmessage from root@localhost (pts/0) (Tue Oct 15:07:46 2016);
wall sophia is abeautiful girl !
操作示意图如图5所示:
图5 wall命令执行结果示意图
题外话:一般不太推荐使用发送广播信息,因为很有可能当别人正在敲一段命令行的时候突然间收到一条广播信息,就会中断了命令的输入,这是让人比较郁闷的事情。