linux登录用户(终端)间的通信

转载

1、write命令

使用权限 : 所有使用者 
  使用方式 : 
   write user [ttyname] 
  说明 : 通过write指令可传递信息给另一位登入系统的用户,当输入完毕后,键入EOF(ctrl+D)表示信息结束,write指令就会将信息传给对方。如果接收信息的用户不只登入本地主机一次,你可以指定 接收信息的终端机编号。
  
  参数 : 
  user : 预备传讯息的使用者帐号 
  ttyname : 如果使用者同时有两个以上的 tty 连线,可以自行选择合适的 tty 传讯息

例如:用 #w 命令查看当前已登录的用户:

linux登录用户(终端)间的通信

假如输入 tty 后显示当前在pts/1下,接下来我们要向在pts/2下的root发送信息,输入命令:write root pts/2 按回车后输入信息,可以看到pts/1下:

linux登录用户(终端)间的通信

而在pts/2下的终端可以看到:

linux登录用户(终端)间的通信

按crtl+D结束输入。

当然,我们也可以直接给输入 write root

注意,使用write命令应先用mesg (mesg y 允许write,mesg n 不允许write)查看是否显示 is y,如下图:

如果是 is no的话,应先使用 mesg y ,如下图:

2、wall命令

wall -- send a message to everybody’s terminal(广播一条信息给所有登录的终端)
SYNOPSIS
wall [-n] [ message ] 
DESCRIPTION
wall 会将信息传给每一个 mesg 设定为 yes 的上线使用者。信息结束时需加上 EOF (通常用 Ctrl+D)。
OPTIONS
-n Suppresses the normal banner printed by wall, changing it to "Remote broadcast message".

This option is only available for root if wall is installed set-group-id, and is used by rpc.walld(8).

例如:

输入命令:wall hello,将在每个登录的终端接收到一条"hello"的信息。如图:

linux登录用户(终端)间的通信

linux登录用户(终端)间的通信

linux登录用户(终端)间的通信

3、mesg指令
mesg命令:是否允许其他用户用write命令给自己发送信息。如果允许别人给自己发送信息,输入命令:
# mesg y
否则,输入:
# mesg n 对于超级用户,系统的默认值为 n;而对于一般用户系统的默认值为y。

4、who am i/tty可以显示终端信息,whoami显示当前用户名字

 

posted @ 2017-10-12 16:22  脚本小娃子  阅读(1157)  评论(0编辑  收藏  举报