2015-03-19

Ubuntu Linux 用指令發送訊息給使用者 (3/3)

前面二篇中,阿舍分別介紹了對全部的線上使用者及對同一個使用者的不同連線發送訊息的方式,所以,在這個系列的最後一篇裡,阿舍就要來介紹怎麼用指令來和不同的使用者互相傳送訊息了,而使用的指令就是 write 這個指令哩 ! ... (阿舍一直在想,這個 wall 指令的 w 是不是指 write 哩 !?)



在開始介紹 write 指令前,阿舍先來岔題一下,來討論說,為什麼會需要在命令列下來傳送,現在即時訊息不息很多嗎 ?? ... 是啊 ! 不過,人家遠遠一看就知道你在聊天了,老闆看了會不太爽哩 ! 用命令列或終端機看起來比較像是有在做事,切換又快,談情說愛,不容易被發現 ... 喔! 不是啦 ! 是會比較方便來傳解決問題哩 ! ... 呵 !

二邊都要執行 write 指令後才能互傳訊息 ...

例如,當使用者遇到問題時,你可以請他把錯誤訊息傳給你,然後,你再把正確的操作指令或設定傳給他,這樣,他只要照著弄,應該就可以解決問題了,還有,如果發現使用者有異常操作或發生問題,也可以即時通知他,協助他排除,不需使用者再另外安裝軟體,對系統管理人員來說,會方便很多哩 !

好了,回到 write 指令要怎麼和人家聊天的部份,write 指令的用法很直白,就是直接在 write 後面加上使用者名稱就可以了,不過,如果對方有二個以上的連線時,那就一定要指定 tty 或 pts 了(請參考本系列的第二篇的說明),不然 write 指令就會自動挑一個 idle 時間最短的連線來送,write 指令是不會自動發送給對方的所有連線的 ...

$ write arthurtoday

  $ write arthurtoday /dev/pts/2
 
  # 一開始,對方會先收到這個訊息
  Message from arthur@ubnsrv1404 on pts/4 at 10:11 ...
 
上面的任一個指令打完之後,對方就會先收到上面第四行的訊息,接下來,你在畫面上打的任何文字,只要按下 Enter 鍵之後,就會出現在對方的畫面上了,不過,這個時候的對方,雖然看的到,但是,沒辦法回覆訊息,他也要執行一次 write 指令來指定 write 的對象後,二個人就可以開始聊天了,然後,不聊的時候,任一方按下 Ctrl-C 來結束,對方就會收到一個 EOF 字串,表示你已經結束離開了 ...

但是,雖然你離開了,可是,對方還想聊的話,他的訊息還是會再繼續的送過來,這個時候,你能怎麼做呢 ? 阿舍的做法是,先登出,然後,再登入之後,先執行下面第一行指令來拒收訊息,這樣,除了有 root 和有 sudo 權限的人之外,就沒辦法傳訊息給阿舍了,等阿舍想聊的時候,再用下面第二行指令來回復可接受訊息,而如果忘了是開還是是關,只要執行一次不帶選項的 mesg 指令,就可以看到現在的狀態了哩 !

$ mesg n

$ mesg y

$ mesg

阿舍覺得用 write 指令來傳訊息是滿方便的,不過,太熱情就會造成別人的困擾,所以,有些系統管理員就會對 write 這個指令動手腳,不讓一般的使用者可以使用哩 !


推薦閱讀


有疑問? 問題還是沒解決嗎? 歡迎下方留言提問和討論 😁

沒有留言 :

張貼留言

歡迎留言提問和討論 .... 😁