如何在Linux命令行与其他用户通信
作者:小几斤 发布时间:2022-02-02 08:01:06
在 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 进行两用户间的交互式会谈,它们都可以让用户快速地交换信息,学会使用这些常用的命令可以让用户间通信更加方便,提高了沟通的效率。
来源:https://blog.51cto.com/14887308/2531138


猜你喜欢
- 如何从博客中扩展我们的外部链接。但需要申明一点的是:思亿欧所说的不是通过大量注册博客增加自己链接的方式。而是,参与到跟自己主题相关的博客中分
- 发个横向无间隙滚动最新资讯的代码,测试通过<div id=www_ahtcy_cn style=overflow:
- 文字一出各路诸侯杀出,一个措手不及待吾友商发布!前不久视觉组同事们讨论了一个老话题 — 网站图片格式问题和对性能产生的影响其实大家每天都与图
- 今天登录google adsense后台,发现Google的搜索广告多出了一项,从样式图片来看,很像百度以前推出的搜索框:文字描述中我们可以
- 修改虚拟机的ip地址:进入如下界面,直接修改子网ip即可。查看网关:Linux网络环境配置:第一种方式(自动获取):说明:登陆后,通过界面来
- 最近,每聊电子商务,无不提及百度C2C和淘宝商城。在此说说我的几个猜想:关于百度C2C1、百度C2C其实是B2C,而且还不是像淘宝那样很小的
- 如何解决VMWare中Ubuntu重启后无法上网,具体如下原因:没有设置静态的DNS,导致系统每次重启都会把先前设置的DNS删除。重启后无法
- Linux下修改jar、zip等文件内的文件详解看到很多同事在Linux环境下修改jar包内的文本文件或zip中的文本文件时,经常是先把ja
- 在CentOS系统下,主要有两种方法设置自己安装的程序开机启动。1、把启动程序的命令添加到/etc/rc.d/rc.local文件中,比如下
- 说明:本帖是我经过一天一夜完成的,不同于一般网上文章,除详细的将整个配置过程和 测试过程都详细截图说明外,尤其在FastCGI方面采用微软的
- 选择服务器是一项重大决策,通常费时费钱。错误的决策会导致不良后果。在本文中,我们将首先谈谈一些在规划时需考虑的问题,然后进一步讨论如何在Wi
- 电脑辐射会渗透皮肤激活黑色素母细胞,促使黑色素生成以抵挡辐射,如不适当清洁和防护会导致黑色素沉积或老死在皮肤内不易代谢出使得皮肤容易长斑,肤
- 但这种实现会引起严重的饥饿问题。由于多个子进程同时执行这个循环,它们将在select中阻塞。当任何socket上出现一个请求时,所有被阻塞的
- 虽然模板选择以及确定都不容易,但是WordPress模板太多,有的时候难免会有更换模板的想法,但是每个模板的设计代码以及样式都不见相同,这就
- 摘要:由于数据库存储的数据量越来越大,查询速度也就变的越来越慢,因此就有了Linux缓存服务器应用的必要,本文是介绍Memcached的安装
- 什么是SWFUpload?SWFUpload是一个客户端文件上传工具,最初由Vinterwebb.se开发,它通过整合Flash与JavaS
- 环境准备:VMware+CentOS,jdk一、校验系统磁盘大小1.命令 df -h保证可用磁盘大小15GB(包括oracle安装时需要空间
- Linux下使用pip安装SpeechRecognition经常会看到代码import speechrecognition as sr这类的
- Git pull命令与fetch命令的区别今天在公司碰到个问题,公司不使用master分支作为主分支,而使用release分支作为主分支,这
- 一、安装环境电脑型号:lenovoY471a(i5)笔记本系统环境:win7 64位旗舰版虚拟机vmware版本:VMware workst