『學了就忘』Linux基礎命令 — 35、網路中與其他機器通訊的命令

繁華似錦Fighting發表於2021-11-10

1、write命令

(1)write命令的基本資訊

  • 命令名稱:write
  • 英文原意:send a message to another user
  • 所在路徑:/usr/bin/write
  • 執行許可權:所有使用者。
  • 功能描述:向其他使用者傳送資訊。

write命令的格式如下:

[root@localhost ~]# write 使用者名稱 終端號

# 向在pts/1(遠端終端1)登入的user1使用者傳送資訊,使用"ctrl+D"快捷鍵儲存傳送的資料
[root@localhost ~ ] # write user1 pts/1
hel1o I will be in 5 minutes to restart,please save your data

(2)登陸終端號

  • Linux系統下有6個本地字元終端,用tty1-6來表示,每個終端的切換命令的快捷鍵是:alt+F1-6
  • 一個本地圖形終端,用tty7來表示。
    切換使用的快捷鍵為ctrl+alt+F7(前提需要安裝並啟動系統的圖形介面,並且快捷鍵按住3秒以上。)。
  • 遠端終端,預設用pts/0-255來表示,Linux系統還支援再擴充套件。
  • 直接輸入w,就可以檢視所有連結系統的終端,如下圖:
    image
    最後顯示執行w命令的終端就是當前終端。

提示:w命令和ls命令是一樣的,當命令執行之後就消失了,很難抓到兩個同時執行w命令的終端。

(3)練習

1)檢視Linux系統中所有連結的使用者:
image
2)向root-tty1傳送資訊:
image
回車後,ctrl+d進行儲存併傳送。
3)在root-tty1客戶端檢視資訊:
image

2、wall命令

write命令用於給指定使用者傳送資訊,而wall命令用於給所有登入使用者傳送資訊,包括你自己。
執行時,在wall命令後加入需要傳送的資訊即可。

示例如下:

[root@localhost ~]# wall "I will be in 5 minutes to restart,please save your data"

# 或者輸入wall命令回車後,輸入需要傳送的資訊。然後回車後,ctrl+d進行儲存併傳送。
[root@DevOps ~]# wall
11111122222223333
[root@DevOps ~]#
Broadcast message from rooteDevops (pts/e)(Wed Jan 22 17:20:59 2020):
11111122222223333

3、mail 命令

mail是Linux的郵件客戶端命令,可以利用這個命令給其他使用者傳送郵件。

mail命令的基本資訊:

  • 命令名稱:mail
  • 英文原意:send and receive Internet mail
  • 所在路徑:/bin/mail
  • 執行許可權:所有使用者。
  • 功能描述:傳送和接收電子郵件。

使用1:傳送郵件

如果我們想要給其他使用者傳送郵件,則可以執行如下命令:

# 傳送郵件給user1使用者
[root@localhost ~]# mail user1 
Subject:hello  <-郵件標題
Nice to meet you!<-郵件具體內容
. <-使用"."來結束郵件輸入
(也可以直接ctrl+d直接儲存併傳送,都可以)

我們接收到的郵件都儲存在/var/spool/mail/使用者名稱中,每個使用者都有一個以自己的使用者名稱命名的郵箱。

使用2:檢視已經接收的郵件

我們可以直接在命令列中執行mail命令,進入mail的互動命令中,可以在這裡檢視已經接收到的郵件。

示例如下:

# 未閱讀編號發件人時間標題
[root@localhost ~]# mail Heirloom Mail version 12.4 7/29/08.Type?for help.
"/var/spool/mail/root":1 message 1 new
>N 1 root Mon Dec 522:4568/1777 "test mai1" <-之前收到的郵件
>N 2 root Mon Dec 523:0818/602 "hello"

可以看到已經接收到的郵件列表,N代表未讀郵件,如果是已經閱讀過的郵件,則前面是不會有這個N的;之後的數字是郵件的編號,我們主要通過這個編號來進行郵件的操作。如果我們想要檢視第一封郵件,則只需輸入郵件的編號1就可以了。

這些互動命令是可以簡化輸入的,比如headers命令,就可以直接輸入h,這是列出郵件標題列表的命令。

我們解釋一下常用的互動命令:

  • 在互動命令中執行?,可以檢視這個互動介面支援的命令。
  • headers:列出郵件標題列表,直接輸入h命令即可。
  • delete:刪除指定郵件。比如想要刪除第二封郵件,可以輸入d 2
  • save:儲存郵件。可以把指定郵件儲存成檔案,如:s 2/tmp/test.mail
  • quit:退出,並把已經操作過的郵件進行儲存。比如移除已刪除郵件、儲存已閱讀郵件等。
  • exit:退出,但是不儲存任何操作。

使用3:傳送檔案內容

如果我們想把某個檔案的內容傳送給指定使用者,則可以執行如下命令:

# 把/root/anaconda-ks.cfg 檔案的內容傳送給 root使用者

[root@localhost ~]# mail -s "test mail" root < /root/anaconda-ks.cfg

選項:
  -s:指定郵件標題

我們在寫指令碼時,有時需要指令碼自動傳送一些資訊給指定使用者,把要傳送的資訊預先寫到檔案中,是一個非常不錯的選擇。(這種方式比較常用,避免了在互動頁面中進行操作。)

相關文章