終端(Terminal)也稱終端設備,是計算機網絡中處于網絡最外圍的設備,主要用于用戶信息的輸入以及處理結果的輸出等。在早期計算機系統中,由于計算機主機昂貴,因此一個主機(IBM大型計算機)一般會配置多個終端,這些終端本身不具備計算能力,僅僅承擔信息輸入輸出的工作,運算和處理均由主機來完成。在個人計算機時代,個人計算機可以運行稱為終端仿真器的程序來模仿一個終端的工作。隨著移動網絡的發展,移動終端(如手機、PAD)等得到了廣泛的應用。此時,終端不僅能承擔輸入輸出的工作,同時也能進行一定的運算和處理,實現部分系統功能。
而在Linux中有已下幾類終端
一、物理終端
也稱控制臺終端(/dev/ttyn, /dev/console)
在Linux 系統中,計算機顯示器通常被稱為控制臺終端(Console)。它仿真了類型為Linux的一種終端(TERM=Linux),并且有一些設備特殊文件與之相關聯:tty0、tty1、tty2等。當你在控制臺上登錄時,使用的是tty1。使用Alt+[F1—F6]組合鍵時,我們就可以切換到tty2、 tty3等上面去。tty1 –tty6等稱為虛擬終端,而tty0則是當前所使用虛擬終端的一個別名,系統所產生的信息會發送到該終端上。因此不管當前正在使用哪個虛擬終端,系統信息都會發送到控制臺終端上。你可以登錄到不同的虛擬終端上去,因而可以讓系統同時有幾個不同的會話期存在。只有系統或超級用戶root可以向 /dev/tty0進行寫操作,
1、# tty(查看當前TTY)
/dev/tty1
2、#echo "test tty0" > /dev/tty0
test tty0
二、虛擬終端(tty)
既然有物理可摸可見的終端,那么又會有用軟件或協議虛擬出來的終端。虛擬終端(VT)是一種提供類似于Internet的Telnet協議的遠程終端仿真的國際標準化組織(ISO)協議。在遠程終端的用戶,可以在遠程計算機上運行應用程序,就象他們是坐在這臺計算機前面一樣。在Linux中默認有6個虛擬終端,進入命令快捷鍵Ctrl+Alt+f(1-6),分別對應相應的終端,進入終端的命令
1、/dev/tty# #為{1-6}
tty1 –tty6等稱為虛擬終端,
三、圖形終端
Linux的后期發展,加入了圖形化界面,其實就是在Xwindows模式下的偽終端。如Windows是以圖形界面方式操作的,因為你可以用鼠標來點擊按鈕來進行操作,很直觀,但效率很低,因此此類界面一般作操作不使用。關閉圖形終端改為虛擬終端的命令
# systemctl get-default
Garphical.target
systemctl get-default multi-user.target
四、偽終端(/dev/pty/)
上述登錄過程,對于網絡用戶來說,卻不能完全實用。很顯然,網絡用戶并不需要一個串口,也不需要一個顯示器,他需要的是在他的本地顯示設備上,運行Linux的shell。這種網絡用戶被稱為網絡虛擬終端。以telnetd為例,它至少應該是這樣子的:
圖一:telnet登錄假想圖
這里,這個“某個終設備”,自然不可能是一個實際的物理終端設備,因為壓根沒有這樣的設備。這樣,偽終端的概念就被引入進來了。偽終端設備是一種特殊的終端驅動設備, 它并不驅動某個物理設備,而是用來將終端的輸出定向到應用程序中進行處理。偽終端設備之所以存在是為了提供在程序控制下的一種模擬串行終端行為的方法。
偽終端與前面說的終端在表現形式上,最大的不同,就是它總是成對出現,而不是單一的一個。它分為“偽終端主設備(/dev/ptyMN)”和“偽終端從設備”。(/dev/ttyMN)。其中,M與N的命名方式如下:
-
M: p q r s t u v w x y z a b c d e 共16 個
-
N: 0 1 2 3 4 5 6 7 8 9 a b c d e f 共16 個
復制代碼
這樣,默認支持最大是256個。
五、.串行端口終端(/dev/ttySn)
串行端口終端(Serial Port Terminal)是使用計算機串行端口連接的終端設備。計算機把每個串行 端口都看作是一個字符設備。有段時間這些串行端口設備通常被稱為終端設備,因為那時它的最 大用途就是用來連接終端。
這些串行端口所對應的設備名稱是/dev/tts/0(或/dev/ttyS0)、/dev/tts/1(或 /dev/ttyS1)等,設號 分別是(4,0)、(4,1)等,分別對應于DOS系統下的COM1、COM2等。若要向一個端口發送數據,可 以在命令行上把標準輸出重定向到這些特殊文件名上即可。例如,在命令行提示符下鍵入:echo test > /dev/ttyS1會把單詞"test"發送到連接在ttyS1(COM2)端口的設備上。
原創文章,作者:yangtian,如若轉載,請注明出處:http://www.www58058.com/51501