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,就可以查看所有鏈接系統的終端,如下圖:

最后顯示執行w命令的終端就是當前終端。
提示:
w命令和ls命令是一樣的,當命令執行之后就消失了,很難抓到兩個同時執行w命令的終端。
(3)練習
1)查看Linux系統中所有鏈接的用戶:

2)向root-tty1發送信息:

回車后,ctrl+d進行保存並發送。
3)在root-tty1客戶端查看信息:

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:指定郵件標題
我們在寫腳本時,有時需要腳本自動發送一些信息給指定用戶,把要發送的信息預先寫到文件中,是一個非常不錯的選擇。(這種方式比較常用,避免了在交互頁面中進行操作。)
