在 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】