Linux終端類型

unix是一個多用戶多任務的操做系統。早期電腦昂貴,因此當時使用便宜的設備鏈接到電腦上(當時尚未鍵盤和顯示器,使用紙帶和卡片來輸入輸出)來使用操做系統,這個便宜的設備就是終端,也能夠認爲終端是一種控制檯。因此能夠認爲電腦自己是console終端,便宜的鏈接設備是物理終端pty。網絡

Linux是類unix系統,因此也繼承了終端的特性。可是後來電腦逐漸便宜,也出現了顯示器和鍵盤,因此可使用鍵盤看成輸入終端,顯示器看成輸出終端,這些終端就是虛擬終端,虛擬終端其實就是虛擬控制檯,或者說是一個虛擬設備。ssh

Linux提供了不少種虛擬終端,使用ttyN表示,使用Ctrl+Alt+F[1-6]能夠進行虛擬終端的切換,這些終端設備記錄在/dev/目錄下。工具

[root@xuexi ~]# ls /dev/tty
tty    tty12  tty17  tty21  tty26  tty30  tty35  tty4   tty44  tty49  tty53  tty58  tty62  ttyS0 
tty0   tty13  tty18  tty22  tty27  tty31  tty36  tty40  tty45  tty5   tty54  tty59  tty63  ttyS1 
tty1   tty14  tty19  tty23  tty28  tty32  tty37  tty41  tty46  tty50  tty55  tty6   tty7   ttyS2 
tty10  tty15  tty2   tty24  tty29  tty33  tty38  tty42  tty47  tty51  tty56  tty60  tty8   ttyS3 
tty11  tty16  tty20  tty25  tty3   tty34  tty39  tty43  tty48  tty52  tty57  tty61  tty9

tty加上數值的就是虛擬終端,CTRL+ALT+F1表示切換到tty1終端,ctrl+alt+f2表示切換到tty2終端,通常Linux上只提供了ctrl+alt+f[1-6]這6個終端之間切換的功能。兩個特殊的終端是tty和tty0,tty表示當前正在使用的終端,tty0表示當前已被激活的全部虛擬終端。還有ttySN,這些表示串行終端。spa

還有從ssh或telnet等從網絡鏈接到電腦上的終端,或者從圖形虛擬終端打開的命令行終端,都稱爲僞終端,使用pts/N表示,對應的設備爲/dev/pts目錄下的數值N文件。操作系統

[root@xuexi ~]# ls /dev/pts/
0     ptmx 

0表示第一個僞終端,1表示第二個僞終端。命令行

僞終端和其它全部終端的管理方式都不同,它是經過鏈接電腦的程序管理的,例如ssh鏈接則由ssh負責申請僞終端資源,並要求輸入用戶名和密碼。若是ssh鏈接進程被殺,則此僞終端也相應的退出。unix

另外,有些身份驗證的程序並不是必定會爲鏈接從程序分配終端,例如執行sudo ssh時,sudo就不必定會爲ssh分配僞終端。code

在現代Linux上,console終端已經和原始的意義不太同樣了,其設備映射在/dev/console上,全部內核輸出的信息都輸出到console終端,而其餘用戶程序輸出的信息則輸出到虛擬終端或僞終端。blog

總結下:繼承

/dev/console:控制檯終端

/dev/ttyN:虛擬終端,ctrl+alt+f[1-6]切換的就是虛擬終端

/dev/ttySN:串行終端

/dev/pts/N:僞終端,ssh等工具鏈接過去的活着圖形終端下開啓的命令行終端就是僞終端。

相關文章
相關標籤/搜索