如何在Linux命令行与其他用户通信
在Linux命令行里向其他用户发送信息很简单,很多命令都可以做到这点,麻烦的是你需要从众多命令中挑选一个合适的命令来使用。因此,我挑选了四种常用的Linux用户通信命令分享给大家并为你们讲解这四种命令是如何工作的。
wall
wall命令(意为writeall)允许你向所有在系统已登录的用户发送信息。任何用户都可以使用wall命令,但wall命令通常是系统管理员用来向用户发送公告通知的(比如服务器将关闭维护)。
一个系统管理员可能会发送如下信息:
$wallThesystemwillbegoingdownin15minutestoaddressaseriousproblem
然后,所有已登录的用户都能看到类似这样的通知:
Broadcastmessagefromadmin@dragonfly(pts/0)(ThuMar508:56:422020):
Thesystemisgoingdownin15minutestoaddressaseriousproblem
如果你要发送的信息里有单引号,就需要用双引号将要发送的信息括起来,如下所示:
$wall"Don'tforgettosaveyourworkbeforeloggingoff"
上例所示的命令里,最外层的引号在信息传送时不会显示出来,但如果没有最外层的引号,这条命令执行时会一直等待一个和句中单引号配对的引号以结束句子。
mesg
如果因为某些原因你想拒绝某位用户发送来的信息,就可以使用mesg命令。该命令使用时应携带参数n或者y,分别表示拒绝或接受某用户来信,其用例如下(alvin为用户名):
$mesgnalvin
$mesgyalvin
值得注意的是,使用mesg命令屏蔽用户后,被屏蔽的用户并不会收到自己已被屏蔽的通知,也就是说,被屏蔽的用户并不会知道自己已经被屏蔽了。
你也可以使用这个命令来接受或屏蔽所有用户的通信,只需把用户名参数省略掉即可:
$mesgy
$mesgn
write
另一个可以直接发送文本信息而不需要转换成电邮的命令是write。这个命令能被用于和特定用户的通信中,比如你要向用户名为alvin的用户发送信息,可以用如下命令:
$writealvin
Areyoustillatyourdesk?
Ineedtotalkwithyourightaway.
^C
写完发送信息后按ctrl+C退出。这个命令允许你传送信息,但不是开启一个双工通道,它仅仅只能用于送出信息。如果接收用户在不止一个终端上登录,你能选择一个你想传输的终端或者依靠系统选择一个耗时最少的终端传输,如下所示:
$writealvin#1
如果你被用户alvin屏蔽了,你会看到如下提示:
$writealvin
write:alvinhasmessagesdisabled
talk/ytalk
talk和ytalk命令让你可以和一个或多个用户建立交互通信,其中talk命令只允许你和一个用户建立交互通信。talk与ytalk命令都会启动一个双版面的窗口,通信的每一方都可以在窗口的上部版面输入信息并在下部版面看到回应信息。
被请求加入通信的一方可以通过输入talk并在其后跟上通信发起方的用户名即可回应通信,如下所示:
MessagefromTalk_Daemon@dragonflyat10:10...
talk:connectionrequestedbyalvin@127.0.0.1.
talk:respondwith:talkalvin@127.0.0.1
$talkalvin
值得注意的是,当系统既安装了talk也安装了ytalk时,talk命令默认会与ytalk命令相关联,所以当你输入talkalvin后,系统实际上执行的是ytalkalvin。由于我的系统两个命令都安装了,所以执行以上命令后看到的输出实际上是ytalkalvin的:
----------------------------=YTalkversion3.3.0=--------------------------
Isthereportready?
-------------------------------=root@lxlinux=----------------------------
Justfinishedit
以上为用户alvin看到的窗口信息,而通信另一方的root看到的窗口内容则是反过来的:
----------------------------=YTalkversion3.3.0=--------------------------
Justfinishedit
-------------------------------=alvin@lxlinux=----------------------------
Isthereportready?
同样,这个命令也用ctrl+C来终止。
要用此命令和其他系统的用户通信则需要加上-h的参数,参数值为主机名或IP地址。其用例如下:
$talk-h192.168.0.11alvin
总结
Linux系统有很多可用于向已登录的用户发送信息的命令,这些命令在某些情景中是非常有用的,比如用wall广播信息,用talk进行两用户间的交互式会谈,它们都可以让用户快速地交换信息,学会使用这些常用的命令可以让用户间通信更加方便,提高了沟通的效率。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。