如何在Linux命令行與其他用戶通信
在 Linux 命令行里向其他用戶發(fā)送信息很簡單,很多命令都可以做到這點(diǎn),麻煩的是你需要從眾多命令中挑選一個(gè)合適的命令來使用。因此,我挑選了四種常用的 Linux 用戶通信命令分享給大家并為你們講解這四種命令是如何工作的。
wall
wall 命令(意為 write all )允許你向所有在系統(tǒng)已登錄的用戶發(fā)送信息。任何用戶都可以使用 wall 命令,但 wall 命令通常是系統(tǒng)管理員用來向用戶發(fā)送公告通知的(比如服務(wù)器將關(guān)閉維護(hù))。
一個(gè)系統(tǒng)管理員可能會(huì)發(fā)送如下信息:
$ 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
如果你要發(fā)送的信息里有單引號,就需要用雙引號將要發(fā)送的信息括起來,如下所示:
$ wall "Don't forget to save your work before logging off"
上例所示的命令里,最外層的引號在信息傳送時(shí)不會(huì)顯示出來,但如果沒有最外層的引號,這條命令執(zhí)行時(shí)會(huì)一直等待一個(gè)和句中單引號配對的引號以結(jié)束句子。
mesg
如果因?yàn)槟承┰蚰阆刖芙^某位用戶發(fā)送來的信息,就可以使用 mesg 命令。該命令使用時(shí)應(yīng)攜帶參數(shù) n 或者 y,分別表示拒絕或接受某用戶來信,其用例如下( alvin 為用戶名):
$ mesg n alvin
$ mesg y alvin
值得注意的是,使用 mesg 命令屏蔽用戶后,被屏蔽的用戶并不會(huì)收到自己已被屏蔽的通知,也就是說,被屏蔽的用戶并不會(huì)知道自己已經(jīng)被屏蔽了。
你也可以使用這個(gè)命令來接受或屏蔽所有用戶的通信,只需把用戶名參數(shù)省略掉即可:
$ mesg y
$ mesg n
write
另一個(gè)可以直接發(fā)送文本信息而不需要轉(zhuǎn)換成電郵的命令是 write。這個(gè)命令能被用于和特定用戶的通信中,比如你要向用戶名為 alvin 的用戶發(fā)送信息,可以用如下命令:
$ write alvin
Are you still at your desk?
I need to talk with you right away.
^C
寫完發(fā)送信息后按 ctrl+C 退出。這個(gè)命令允許你傳送信息,但不是開啟一個(gè)雙工通道,它僅僅只能用于送出信息。如果接收用戶在不止一個(gè)終端上登錄,你能選擇一個(gè)你想傳輸?shù)慕K端或者依靠系統(tǒng)選擇一個(gè)耗時(shí)最少的終端傳輸,如下所示:
$ write alvin#1
如果你被用戶 alvin 屏蔽了,你會(huì)看到如下提示:
$ write alvin
write: alvin has messages disabled
talk / ytalk
talk 和 ytalk 命令讓你可以和一個(gè)或多個(gè)用戶建立交互通信,其中 talk 命令只允許你和一個(gè)用戶建立交互通信。talk 與 ytalk 命令都會(huì)啟動(dòng)一個(gè)雙版面的窗口,通信的每一方都可以在窗口的上部版面輸入信息并在下部版面看到回應(yīng)信息。
被請求加入通信的一方可以通過輸入 talk 并在其后跟上通信發(fā)起方的用戶名即可回應(yīng)通信,如下所示:
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
值得注意的是,當(dāng)系統(tǒng)既安裝了 talk 也安裝了 ytalk 時(shí), talk 命令默認(rèn)會(huì)與 ytalk 命令相關(guān)聯(lián),所以當(dāng)你輸入 talk alvin 后,系統(tǒng)實(shí)際上執(zhí)行的是 ytalk alvin 。由于我的系統(tǒng)兩個(gè)命令都安裝了,所以執(zhí)行以上命令后看到的輸出實(shí)際上是 ytalk alvin 的:
----------------------------= YTalk version 3.3.0 =--------------------------
Is the report ready?
-------------------------------= root@lxlinux =----------------------------
Just finished it
以上為用戶 alvin 看到的窗口信息,而通信另一方的 root 看到的窗口內(nèi)容則是反過來的:
----------------------------= YTalk version 3.3.0 =--------------------------
Just finished it
-------------------------------= alvin@lxlinux =----------------------------
Is the report ready?
同樣,這個(gè)命令也用 ctrl+C 來終止。
要用此命令和其他系統(tǒng)的用戶通信則需要加上 -h 的參數(shù),參數(shù)值為主機(jī)名或IP地址。其用例如下:
$ talk -h 192.168.0.11 alvin
總結(jié)
Linux 系統(tǒng)有很多可用于向已登錄的用戶發(fā)送信息的命令,這些命令在某些情景中是非常有用的,比如用 wall 廣播信息,用 talk 進(jìn)行兩用戶間的交互式會(huì)談,它們都可以讓用戶快速地交換信息,學(xué)會(huì)使用這些常用的命令可以讓用戶間通信更加方便,提高了溝通的效率。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Ubuntu16.04搭建php5.6Web服務(wù)器環(huán)境
今天小編就為大家分享一篇關(guān)于Ubuntu16.04搭建php5.6Web服務(wù)器環(huán)境,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧2019-03-03
詳解Lamp環(huán)境搭建Linux CentOS6.5編譯安裝mysql5.6
這篇文章主要介紹了詳解Lamp環(huán)境搭建Linux CentOS6.5編譯安裝mysql5.6,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-05-05
Tomeat6.0 連接池?cái)?shù)據(jù)庫配置
關(guān)于tomeat6.0的連接數(shù)據(jù)庫配置實(shí)現(xiàn)代碼2009-03-03
Apache開啟并實(shí)現(xiàn)網(wǎng)站偽靜態(tài)化的方法
Apache的Mod_Rewrite對URL進(jìn)行重寫,實(shí)現(xiàn)網(wǎng)站偽靜態(tài)化,這里就為大家介紹一下2022-08-08
用DNSPod和Squid打造自己的CDN (五) 安裝Squid的前期準(zhǔn)備
從本章開始,大家將會(huì)學(xué)到如何在Linux下面安裝、編譯程序,還會(huì)學(xué)到程序編譯的優(yōu)化方法,最后會(huì)通過源代碼編譯的方式把Squid安裝上2013-04-04
關(guān)于Apache shiro實(shí)現(xiàn)一個(gè)賬戶同一時(shí)刻只有一個(gè)人登錄(shiro 單點(diǎn)登錄)
今天和同事在一起探討shiro如何實(shí)現(xiàn)一個(gè)賬戶同一時(shí)刻只有一session存在的問題,下面小編把核心代碼分享到腳本之家平臺,需要的朋友參考下2017-09-09

