不过在很多情况下,Unix/Linux系统管理员可以通过命令发送系统休息、布告栏信息、公共信息的方式与其他用户沟通。
1.使用write命令
用户可以使用write命令给其他在线用户发送消息。格式:
#write username [tty]
在Shell提示符号输入write,username指接受发送信息的用户名。如果一个用户多次登录到系统, tty参数指定要发送的终端。使用write发送信息的前提条件是该用户已经登录到系统。否则会出现以下提示:
#write cjh write:cjh is not logged in
可以使用who命令查询登录用户名称。接着可以输入要发送的信息。当输入完毕后,键入EOF表示信息结束,用Crtl+D组合键发送信息。输入内容会出现在用户的屏幕上,同时通信中止。
如果在网络上可以使用write命令在username后加入主机名称或域名,建立网络通信。如果要和cao主机上的bj用户通信使用命令:
#write bj@cao
可以使用rusers命令列出所有局域网上的登录用户。
2.wall命令
如果想要发送一条信息给系统中所有用户,可以使用wall命令,wall表示:write all。输入wall,然后编辑信息,如果shell支持可以使用中文。然后使用Crtl+D组合键发送信息。这样系统所有登录用户的桌面会收到信息。如果在网络上,可以使用rwall命令把信息发送到局域网上所有的用户。
3.talk命令
talk命令可以和另一个登录系统用户实现双向对话。系统管理员输入信息,用户也可以输入自己的信息。双方都可以看到交流时的屏幕信息。格式:
#talk username
一个例子:
#talk b
对方屏幕显示:
Message from Talk_Daemon@www.cao.com at 7:18 ... talk: connection requested by b@www.cao.com. talk: respond with: talk b@www.cao.com
然后进入talk分屏界面,双方输入的信息。会出现的对方的屏幕。
用户完成会话后使用Crth+C断开连接。和write一样可以使用在username后加入主机名称或域名,建立网络会话连接。
4.mesg 命令
用户可以阻止其他用户给自己发送消息打断工作,使用mesg n命令禁止其他用户发送消息。当别人试图再使用write给他发送信息时,发送者将会看见提示:
#write: user has messages disabled on pts/n?
但是超级用户可以给任何用户发送消息,即使用户使用mesg n命令。要恢复接受信息输入:
# mesg -y |