在 Linux 命令行里与其余用户通讯

你们好,我是良许linux

在 Linux 命令行里向其余用户发送信息很简单,不少命令均可以作到这点,麻烦的是你须要从众多命令中挑选一个合适的命令来使用。所以,我挑选了四种经常使用的 Linux 用户通讯命令分享给你们并为大家讲解这四种命令是如何工做的。服务器

wall微信

wall 命令(意为 write all )容许你向全部在系统已登陆的用户发送信息。任何用户均可以使用 wall 命令,但 wall 命令一般是系统管理员用来向用户发送公告通知的(好比服务器将关闭维护)。运维

一个系统管理员可能会发送以下信息:ide

$ 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

若是你要发送的信息里有单引号,就须要用双引号将要发送的信息括起来,以下所示:spa

$ wall "Don't forget to save your work before logging off"

上例所示的命令里,最外层的引号在信息传送时不会显示出来,但若是没有最外层的引号,这条命令执行时会一直等待一个和句中单引号配对的引号以结束句子。命令行

mesgorm

若是由于某些缘由你想拒绝某位用户发送来的信息,就可使用 mesg 命令。该命令使用时应携带参数 n 或者 y,分别表示拒绝或接受某用户来信,其用例以下( alvin 为用户名):htm

$ 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 进行两用户间的交互式会谈,它们均可以让用户快速地交换信息,学会使用这些经常使用的命令可让用户间通讯更加方便,提升了沟通的效率。

最后但愿本文的内容对你的工做有所帮助,若是你还对这些命令有任何疑问,请留言告诉我呗!

本文转载自微信公众号「良许Linux」,能够经过如下二维码关注。转载本文请联系良许Linux公众号。

【编辑推荐】

  1. Linux 内核对 Rust 的支持有新进展,双方进行深刻讨论

  2. 手把手教Linux驱动7-内核互斥锁

  3. Linux运维之,关闭终端,程序后台运行,我有5种方法你呢?

  4. 很快你就能在Linux Mint上将任何网站转化为桌面应用程序了

  5. Linux黑话解释:什么是显示服务器,用来作什么?

【责任编辑:武晓燕 TEL:(010)68476606】

相关文章
相关标签/搜索