如何在Linux命令行与其他用户通信
在 Linux 命令行里向其他用户发送信息很简单,很多命令都可以做到这点,麻烦的是你需要从众多命令中挑选一个合适的命令来使用。因此,我挑选了四种常用的 Linux 用户通信命令分享给大家并为你们讲解这四种命令是如何工作的。
wall
wall 命令(意为 write all )允许你向所有在系统已登录的用户发送信息。任何用户都可以使用 wall 命令,但 wall 命令通常是系统管理员用来向用户发送公告通知的(比如服务器将关闭维护)。
一个系统管理员可能会发送如下信息:
$ wall The system will be going down in 15 minutes to address a serious problem
然后,所有已登录的用户都能看到类似这样的通知:
Broadcast message from admin@dragonfly (pts/0) (Thu Mar 5 08:56:42 2020):
The system is going down in 15 minutes to address a serious problem
如果你要发送的信息里有单引号,就需要用双引号将要发送的信息括起来,如下所示:
$ wall "Don't forget to save your work before logging off"
上例所示的命令里,最外层的引号在信息传送时不会显示出来,但如果没有最外层的引号,这条命令执行时会一直等待一个和句中单引号配对的引号以结束句子。
mesg
如果因为某些原因你想拒绝某位用户发送来的信息,就可以使用 mesg 命令。该命令使用时应携带参数 n 或者 y,分别表示拒绝或接受某用户来信,其用例如下( alvin 为用户名):
$ mesg n alvin
$ mesg y alvin
值得注意的是,使用 mesg 命令屏蔽用户后,被屏蔽的用户并不会收到自己已被屏蔽的通知,也就是说,被屏蔽的用户并不会知道自己已经被屏蔽了。
你也可以使用这个命令来接受或屏蔽所有用户的通信,只需把用户名参数省略掉即可:
$ mesg y
$ mesg n
write
另一个可以直接发送文本信息而不需要转换成电邮的命令是 write。这个命令能被用于和特定用户的通信中,比如你要向用户名为 alvin 的用户发送信息,可以用如下命令:
$ write alvin
Are you still at your desk?
I need to talk with you right away.
^C
写完发送信息后按 ctrl+C 退出。这个命令允许你传送信息,但不是开启一个双工通道,它仅仅只能用于送出信息。如果接收用户在不止一个终端上登录,你能选择一个你想传输的终端或者依靠系统选择一个耗时最少的终端传输,如下所示:
$ write alvin#1
如果你被用户 alvin 屏蔽了,你会看到如下提示:
$ write alvin
write: alvin has messages disabled
talk / ytalk
talk 和 ytalk 命令让你可以和一个或多个用户建立交互通信,其中 talk 命令只允许你和一个用户建立交互通信。talk 与 ytalk 命令都会启动一个双版面的窗口,通信的每一方都可以在窗口的上部版面输入信息并在下部版面看到回应信息。
被请求加入通信的一方可以通过输入 talk 并在其后跟上通信发起方的用户名即可回应通信,如下所示:
Message from Talk_Daemon@dragonfly at 10:10 ...
talk: connection requested by alvin@127.0.0.1.
talk: respond with: talk alvin@127.0.0.1
$ talk alvin
值得注意的是,当系统既安装了 talk 也安装了 ytalk 时, talk 命令默认会与 ytalk 命令相关联,所以当你输入 talk alvin 后,系统实际上执行的是 ytalk alvin 。由于我的系统两个命令都安装了,所以执行以上命令后看到的输出实际上是 ytalk alvin 的:
----------------------------= YTalk version 3.3.0 =--------------------------
Is the report ready?
-------------------------------= root@lxlinux =----------------------------
Just finished it
以上为用户 alvin 看到的窗口信息,而通信另一方的 root 看到的窗口内容则是反过来的:
----------------------------= YTalk version 3.3.0 =--------------------------
Just finished it
-------------------------------= alvin@lxlinux =----------------------------
Is the report ready?
同样,这个命令也用 ctrl+C 来终止。
要用此命令和其他系统的用户通信则需要加上 -h 的参数,参数值为主机名或IP地址。其用例如下:
$ talk -h 192.168.0.11 alvin
总结
Linux 系统有很多可用于向已登录的用户发送信息的命令,这些命令在某些情景中是非常有用的,比如用 wall 广播信息,用 talk 进行两用户间的交互式会谈,它们都可以让用户快速地交换信息,学会使用这些常用的命令可以让用户间通信更加方便,提高了沟通的效率。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
相关文章
CentOS7.4开机出现welcome to emergency mode的解决方法
CentOS7.4开机出现welcome to emergency mode,报这个错误多数情况下是因为/etc/fstab文件的错误。注意一下是不是加载了外部硬盘、存储器或者是网络共享空间,在重启时没有加载上导致的2018-09-09linux mint 18虚拟机下设置1080P分辨率的方法
下面小编就为大家带来一篇linux mint 18虚拟机下设置1080P分辨率的方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧2016-12-12tomcat服务器如何配置字符集为utf-8彻底解决中文乱码的问题详解
这篇文章主要给大家介绍了关于tomcat服务器如何配置字符集为utf-8彻底解决中文乱码问题的相关资料,文中先对字符集进行了简单的介绍,然后给大家详细介绍了解决的方法,需要的朋友可以参考借鉴,下面随着小编来一起学习学习吧。2018-01-01ubuntu lighttpd+webpy (fastcgi)配置方法
首先安装 lighttpd 和 webpy,因为用 kpackagekit 做软件管理,在安装 webpy 的时候会自动安装 flup2009-07-07
最新评论