Linux終端和偽終端簡述


在剛開始學習Linux時,對物理終端、虛擬終端以及偽終端的概念非常困惑,此文是我馬哥培訓學習后對這些概念的理解。

    1. 物理終端:直接連接在主機上的顯示器、鍵盤鼠標統稱。在實際機架式服務器部署中,一般是多台服務器共享一套終端,簡稱KVMKeyboard鍵盤,video顯示器,mouse鼠標)
    2. 虛擬終端(tty):附加在物理終端之上,用軟件方式虛擬實現,CentOS默認啟用6個虛擬終端,可以通過快捷鍵來切換,切換方式:Ctrl-Alt-F[1--6], 對應的文件是/dev/tty#。可以同過tty命令來查看當前的虛擬終端號。ttyteletypewriter的簡稱。
    3. 偽終端(pty):兩種應用場景,第一在圖形界面下打開的命令行接口,第二基於ssh協議或telnet協議等遠程打開的命令行界面,是運維工程師用的最多的一種連接服務器的方式。pts(pseudo-terminal slave)pty的實現方法。

下面以虛擬機為例子用命令查看登錄的終端類型以及具體的終端代號。具體的命令

tty, who, w,其中tty只顯示本終端的類型和終端號:

root@centos7 dev#]tty

/dev/pts/3

顯示為代號為3的偽終端

root@centos7 dev#]tty

/dev/tty4

顯示為代號為4的虛擬終端

root@centos7 ~#]who

vmx      :0           2018-03-26 19:07 (:0)

vmx      pts/0        2018-03-26 19:07 (:0)

vmx      pts/1        2018-03-26 19:40 (192.168.73.1)

vmx      pts/2        2018-03-26 19:17 (192.168.73.1)

root     tty3         2018-03-26 19:18

root     tty2         2018-03-26 19:23

root     tty4         2018-03-26 19:23

root     tty5         2018-03-26 19:23

root     tty6         2018-03-26 19:23

root     pts/3        2018-03-26 19:41 (192.168.73.1)

 

:0 代表圖形界面登錄

在這個例子中,一共有5個虛擬終端4個偽終端登錄。

 

[root@centos7 profile.d#]w

 

USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT

vmx      :0       :0               19:07   ?xdm?   1:12   0.06s /bin/sh /usr/bin/startkde

vmx      pts/0    :0               19:07    1:31m  0.00s  1.47s kdeinit4: kded4 [kdeinit]

vmx      pts/1    192.168.73.1     19:40    7.00s  0.17s  0.24s sshd: vmx [priv]

vmx      pts/2    192.168.73.1     19:17    2:15   0.17s  0.26s sshd: vmx [priv]

root     tty3                      19:18    1:14m  0.06s  0.06s -bash

root     tty2                      19:23    1:14m  0.13s  0.13s -bash

root     tty4                      19:23    4:15   0.05s  0.05s -bash

root     tty5                      19:23    1:14m  0.03s  0.03s -bash

root     tty6                      19:23   10:39   0.04s  0.04s -bash

root     pts/3    192.168.73.1     19:41    9.00s  0.34s  0.01s vi anaconda-ks.cfg

      相比who命令,w命令更詳細,包括登錄時刻,空閑時間(具體指雖然連接保持,但是沒有指令在執行),同時能顯示具體執行的指令,如偽終端pts/3是來自IP192.168.73.1的遠程連接,正在執行vi anaconda-ks.cfg的操作。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM