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