使用 Linux 命令列與其他使用者進行通訊
使用 Linux 命令列向其他使用者傳送訊息或許非常容易,這裡有一些相關的命令你可以考慮使用。在這篇文章中,我們會考察 4 個這樣的命令,看看它們是怎麼工作的。
wall
wall
(“Write ALL” 的簡稱)命令允許你向所有系統中已登入的使用者傳送一條資訊。這裡我們假設使用者都使用命令列在同一臺伺服器上工作。雖然 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"
最外層的雙引號不會出現在發出的訊息中,但是如果沒有它們,wall
會停下並等待輸入一個配對的單引號。
mesg
如果出於某種理由你不想接收來自另一個使用者的訊息,你可以使用 mesg
命令來遮蔽這些訊息。這個命令可以接受一個 n
作為引數來拒絕某使用者的訊息,或者接收一個 y
作為引數來接收使用者發來的訊息。
$ mesg n doug
$ mesg y doug
被遮蔽的使用者不會被告知這一事實。你也可以像這樣使用 mesg
來遮蔽或者接收所有訊息:
$ mesg y
$ mesg n
write
另一個在不使用電子郵件的情況下傳送文字的命令是 write
,這個命令可以用來和一個特定的使用者通訊。
$ write nemo
Are you still at your desk?
I need to talk with you right away.
^C
輸入你的資訊後用 ctrl-c
退出,這樣就完成了通訊。這個命令允許你傳送文字,但並不會建立一個雙向的通話。它只是將文字傳送過去而已。如果目標使用者在多個終端上登入,你可以指定你想將訊息傳送到哪一個終端,否則系統會選擇空閒時間最短的那個終端。
$ write nemo#1
如果你試圖向一個將訊息遮蔽了的使用者傳送資訊,你應該會看到這樣的輸出:
$ write nemo
write: nemo has messages disabled
talk/ytalk
talk
和 ytalk
命令讓你可以和一個或多個使用者進行互動式的聊天。它們會展示一個有上下兩個子視窗的介面,每個使用者向顯示在他們螢幕上方的視窗內輸入內容,並在下方的視窗看到回覆資訊。要回復一個talk
請求,接收方可以輸入 talk
,在後面加上請求方的使用者名稱。
Message from Talk_Daemon@dragonfly at 10:10 ...
talk: connection requested by dory@127.0.0.1.
talk: respond with: talk dory@127.0.0.1
$ talk dory
如果使用的是 ytalk
,那麼視窗中可以包含多於兩個參與者。正如下面的例子所展示的(這是上面 talk dory
命令的結果),talk
通常指向 ytalk
。
----------------------------= YTalk version 3.3.0 =--------------------------
Is the report ready?
-------------------------------= nemo@dragonfly =----------------------------
Just finished it
如上所述,在通話的另一側,talk
會話介面的視窗是相反的:
----------------------------= YTalk version 3.3.0 =--------------------------
Just finished it
-------------------------------= dory@dragonfly =----------------------------
Is the report ready?
同樣的,使用 ctrl-c
來退出。
如果要和非本機的使用者通訊,你需要加上 -h
選項和目標主機名或IP地址,就像這樣:
$ talk -h 192.168.0.11 nemo
總結
Linux 上有若干基本的命令可以用來向其他登入的使用者傳送訊息。如果你需要向所有使用者快速傳送資訊或是需要便捷的電話替代品,又或是希望能簡單地開始一個多使用者快速通訊會話,這些命令會十分實用。
一些命令如 wall
允許廣播訊息但卻不是互動式的。另外的一些命令如 talk
允許多使用者進行長時間通訊,當你只需要非常快速地交換一些資訊,它們可以你你避免建立一個電話會議。
作者:Sandra Henry-Stocker 選題:lujun9972 譯者:linusboyle 校對:wxy
相關文章
- sudo以其他使用者身份身份執行命令-linux命令學習Linux
- C#使用TCP/IP與ModBus進行通訊C#TCP
- 『學了就忘』Linux基礎命令 — 35、網路中與其他機器通訊的命令Linux
- 使用 getopt() 進行命令列處理命令列
- mac下通過dscl命令對使用者/使用者組進行增刪改查操作Mac
- 使用SuperSocket的FixedHeaderReceiveFilter進行通訊HeaderFilter
- Linux命令列與命令Linux命令列
- 使用者層與驅動層通訊
- 如何在 Linux 命令列中切換使用者Linux命令列
- $attrs 與 $listeners 進行「巢狀元件」通訊巢狀元件
- 串列埠通訊與其他通訊方式相比有什麼優勢?串列埠
- C++使用libcurl進行http通訊C++HTTP
- 使用Google Protocol Bufffers進行通訊(Ruby & C)GoProtocol
- 在 Laravel 中使用 Workerman 進行 socket 通訊Laravel
- 用於與非 Linux 使用者一同工作的 Linux 命令列工具Linux命令列
- 通過串列埠進行通訊 :串列埠
- linux下 libusb使用--開啟usb裝置進行通訊Linux
- Linux 使用者的 3 個命令列小技巧Linux命令列
- Linux與使用者有關的命令Linux
- Dynamics CRM 如何使用命令列進行安裝命令列
- Linux 下的程式間通訊:使用管道和訊息佇列Linux佇列
- Android中使用HTTP和HttpClient進行通訊AndroidHTTPclient
- C# 使用SuperSocket的FixedHeaderReceiveFilter進行通訊C#HeaderFilter
- mysql命令列建立使用者MySql命令列
- 高效Linux使用者需要了解的命令列技能Linux命令列
- LIS系統與儀器進行通訊-軟體
- 在Linux命令列中進行大小寫字元轉換Linux命令列字元
- Linux 用命令列方式進行網路下載(轉)Linux命令列
- 收集 Linux 命令列執行的命令Linux命令列
- 序列通訊與並行通訊的區別並行
- RabbitMQ訊息佇列(六):使用主題進行訊息分發MQ佇列
- Linux命令列下進行時間管理,四種方式完成!Linux命令列
- Linux命令列:對內容進行大小寫字元轉換 Linux命令列字元
- Redis:我是如何與客戶端進行通訊的Redis客戶端
- Linux使用者都該知道7個通訊軟體Linux
- 將表匯入到其他使用者的impdp命令
- 在命令列用 sort 進行排序命令列排序
- Linux使用者身份(命令詳解與補正)Linux