linux用户间的信息沟通


linux作为多用户操作系统,可能同时会有多个用户登录使用linux,用户之间可以互相发送消息聊天! 既可以私聊也可以群聊!分别使用write命令和wall命令!

1.write命令

回到顶部
write命令可以直接将信息发送给接收者,命令常用格式如下所示:
            [root@initroot ~]# write 使用者账号 [用户所在终端接口]
            
例如有两个用户peter和root同时登录linux,root可以通过write命令给peter发送消息, 先通过who命令查看当前在线的用户:
            [root@initroot ~]# who
            root     tty1         2020-02-20 19:23
            peter    tty2         2020-02-20 19:31
            
系统中只有root和peter,分别在tty1和tty2终端登录。 此时root用户可以用write命令给peter发送消息,如果peter同时在多个终端登录,可以通过指定发送的终端: [root@initroot ~]# write peter tty2 Hello, peter welcom,Please have fun... 输入完write vbird1 tty2后回车,write会等待用户输入,可以输入多行信息,按crtl-d结束输入。 最后按下回车键,write就会把信息发送给在tty2终端登录的peter用户了, 此时在peter的登录界面中会显示:
            [root@initroot ~]#
            Message from root@initroot on tty1 at 19:31 ... 
            Hello, peter
            welcom,Please have fun...
            EOF
            
            [root@initroot ~]#
            

2.wall命令

回到顶部
write命令只能一对一聊天。使用wall命令可以实现群聊! wall命令可以同时给系统上的所有在线用户发送消息,类似于广播:
            [root@initroot ~]#wall "I will shutdown my linux server..."
            
这样系统上所有用户都会收到这条消息,连发送者自己也会收到!

3.mesg命令

回到顶部
mesg命令可以打开或者关闭write和wall消息的接收, write和wall发送过来的信息会立刻显示在屏幕上,很容易对命令行造成干扰。 所以有时候不想接收write和wall发送过来的消息,可以通过mesg命令关闭消息接收:
            [vbird1@study ~]$ mesg n
            
mesg不加任何参数可以查看消息接收是否开启:
            [vbird1@study ~]$ mesg 
            is n 
            
上面我们把消息接收关闭了,这样其他用户发送过来的消息就无法接收了。 但是mesg n对root发送的消息是无法屏蔽的。 毕竟root作为linux操作系统的管理员,具有至高无上的权利,所以即使消息接收关闭了, 还是必须能够接收到root发送过来的消息! 如果root用户把消息接收关闭了,其他用户就无法给root发送消息了,出现如下提示:
            [vbird1@study ~]$ write root 
            write: root has messages disabled
            
通过mesg y就可以开启write消息接收了:
            [vbird1@study ~]$ mesg y
            [vbird1@study ~]$ mesg 
            is y 
            

initroot编辑整理,转载请注明www.initroot.com

100次点赞 100次阅读