如何在Linux命令行与其他用户通信

 更新时间:2020年09月15日 11:28:19   作者:小几斤  
这篇文章主要介绍了如何在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 进行两用户间的交互式会谈,它们都可以让用户快速地交换信息,学会使用这些常用的命令可以让用户间通信更加方便,提高了沟通的效率。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • 详解CentOS下Nginx如何禁止IP访问

    详解CentOS下Nginx如何禁止IP访问

    服务器的安全相信是每位运维人员最关心的问题,不知道大家在使用的时候会不会遇到很多的恶意IP攻击,最近公司的服务器就遇到了这个问题,这个时候就要用到Nginx 禁止IP访问了。本文介绍了详细的步骤,有同样问题的朋友们可以参考学习。
    2016-10-10
  • CentOS 6下root密码忘记的解决办法

    CentOS 6下root密码忘记的解决办法

    这篇文章主要为大家详细介绍了Centos6下root密码忘记的解决办法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-08-08
  • CentOS 6.5上编译安装Apache服务器的方法(最小化安装)

    CentOS 6.5上编译安装Apache服务器的方法(最小化安装)

    这篇文章主要介绍了CentOS 6.5上编译安装Apache服务器的方法(最小化安装),需要的朋友可以参考下
    2017-09-09
  • Apache Prefork、Worker和Event三种MPM详解

    Apache Prefork、Worker和Event三种MPM详解

    这篇文章主要介绍了Apache Prefork、Worker和Event三种MPM详解,着重介绍了配置参数部分,需要的朋友可以参考下
    2014-06-06
  • 详解CentOS设置程序开机自启动的方法

    详解CentOS设置程序开机自启动的方法

    本篇文章主要介绍CentOS设置程序开机自启动的方法 ,在CentOS系统下,主要有两种方法设置自己安装的程序开机启动。有兴趣的可以了解一下,
    2016-12-12
  • ubuntu16.04搭建nfs服务的方法

    ubuntu16.04搭建nfs服务的方法

    今天小编就为大家分享一篇关于ubuntu16.04搭建nfs服务的方法,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-03-03
  • Debian 9系统下修改默认网卡为eth0的方法

    Debian 9系统下修改默认网卡为eth0的方法

    这篇文章主要给大家介绍了在Debian 9系统下修改默认网卡为eth0的方法,文中介绍的非常详细,对大家具有一定的参考学习价值,需要的朋友们下面来一起看看吧。
    2017-06-06
  • linux通过跳板机连接远程服务器并进行文件传输的方法

    linux通过跳板机连接远程服务器并进行文件传输的方法

    这篇文章主要介绍了linux通过跳板机连接远程服务器并进行文件传输的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-08-08
  • Linux中logrotate日志轮询操作总结

    Linux中logrotate日志轮询操作总结

    这篇文章主要给大家介绍了在Linux中logrotate日志轮询操作的相关资料,文中通过示例代码介绍的非常详细,对大家具有一定的参考学习价值,需要的朋友们下面来一起看看吧。
    2017-06-06
  • Linux命令学习总结:详解reboot命令

    Linux命令学习总结:详解reboot命令

    这篇文章主要介绍了Linux命令学习总结:详解reboot命令,这个指令使用起来非常简单,有兴趣的可以了解一下。
    2016-11-11

最新评论