歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Unix知識 >> Unix資訊

Unix操作系統發送屏幕信息

在Unix操作系統中,為了通知用戶某條信息,我們常常采用向用戶能看到的屏幕寫信息的方法實現。下面,我們來講解這方面的知識。

Unix操作系統向單一屏幕發送信息

每個登錄主機系統的用戶都分配有一個終端號,例如主控台上的12個屏幕分別為tty01~tty12,從多用戶卡上登錄一般有tty2a、tty2b、tty21a……等等終端設備號,如果是遠程登錄則為ttyp0、ttyp1等虛擬終端號。它們對應的終端設備文件都在/dev目錄下。

這種方法使用了輸出轉向符“>”直接寫終端文件/dev/tty03來實現向屏幕發送信息。與以下其他三種方式不同的是,這種方法是針對終端的,而不是針對登錄用戶的,所以即使該終端沒有用戶登錄,使用這種方法也可以向屏幕發送信息。但其他三種方法只能對有用戶登錄的屏幕發送信息。

Unix操作系統向指定用戶發送信息

同一個系統用戶可以在多個終端登錄,例如超級用戶可以在主控台三號屏幕,同時也可以在多用戶卡連接的tty21c終端登錄。此時要向指定屏幕發送信息可以用write命令。

如果用戶只在一個屏幕登錄,可以省略第二個參數。利用這個命令可以實現聊天功能,因為每次回車後信息即發送至指定屏幕,這種特性是其他幾種發送信息方式無法實現的。“終止”使用Ctrl+d組合鍵。

Unix操作系統向登錄主機的所有用戶發送信息

多用戶系統特有的廣播概念:像無線廣播一樣,讓所有人都聽到你的聲音。

例子中“-g”參數指定用戶組,實現向特定組發送信息的功能。換言之,系統中有多個用戶組登錄,你只想將信息廣播到ROOT超級用戶組屬性登錄的用戶屏幕,可以用“-g root”參數。無參數的wall命令向所有登錄系統的用戶發送屏幕信息,一般用於要緊急關機的場合,提示用戶在規定時間保存資料、退出系統。

要廣播的信息可以是一個文本文件中的內容,也可以直接輸入,但與write不同的是,直接輸入時每行信息回車後並不發送,只有在Ctrl+d組合鍵確認輸入結束後才全部發送。需要注意的是:如果系統中無其他用戶登錄,各個屏幕(終端)都處於Login:等待登錄狀態,那麼wall命令發送的信息就不會顯示在屏幕上。

Unix操作系統向網絡中的用戶屏幕發送信息

上面的三種方法只能對本地主機的屏幕發送信息,實際工作中我們會需要向網絡中多台Unix操作系統主機的用戶屏幕做同樣的操作,以便統一行動,此時就要用到網絡廣播命令rwall。

它的參數就是要接受信息的Unix操作系統主機IP地址,使用“<”轉向符將文本文件信息發送到指定主機的所有有用戶登錄的屏幕上。rwall命令不需要登錄對方主機,不需要口令。實際應用中一般都作成一個shell文檔,將要接受信息的主機列入其中,然後統一發送。例如shell文檔為gb:發送信息時:./gb see.txt。

同樣,遠程主機的屏幕只有有用戶登錄才能接受到信息,在login:狀態下不會有信息發送到屏幕上。如果對方主機已經關閉,或者線路出現,系統會提示:“Couldn't contact 123.45.67.89 : RPC : Timed out”。

以上方法、命令在5.05SCO Unix操作系統中測試通過,在其他Unix操作系統中可能命令的具體形式會有所變化。希望大家能夠更好的學習Unix操作系統的知識。

Copyright © Linux教程網 All Rights Reserved