天天看點

linux 系統tty、pty和pts 的概念及差別

linux 系統tty、pty和pts 的概念及差別

  1. tty(終端裝置的統稱):

    tty一詞源于Teletypes,或者teletypewriters,原來指的是電傳打字機,是通過串行線用列印機鍵盤通過閱讀和發送資訊的東西,後來這東西被鍵盤與顯示器取代,是以現在叫終端比較合适。

    終端是一種字元型裝置,它有多種類型,通常使用tty來簡稱各種類型的終端裝置。

tty指的是七個alt+crtl+F1~F7

tty1-tty6表示文字界面,可以用Ctrl+Alt+F1-F6切換,+F7就是切換回圖形界面。

在Linux系統中,計算機顯示器通常被稱為控制台終端(Console)。它仿真了類型為Linux的一種終端(TERM=Linux),并且有一些裝置特殊檔案與之相關聯:tty0、tty1、tty2等。

當你在控制台上登入時,使用的是tty1。使用Alt+[F1—F6]組合鍵時,我們就可以切換到tty2、tty3等上面去。

tty1 –tty6等稱為虛拟終端,

而tty0則是目前所使用虛拟終端的一個别名,系統所産生的資訊會發送到該終端上。

是以不管目前正在使用哪個虛拟終端,系統資訊都會發送到控制台終端上。

你可以登入到不同的虛拟終端上去,因而可以讓系統同時有幾個不同的會話期存在。

隻有系統或超級使用者root可以向/dev/tty0進行寫操作。

  1. pty(虛拟終端):

    但是如果我們遠端telnet到主機或使用xterm時不也需要一個終端互動麼?是的,這就是虛拟終端pty(pseudo-tty)。

  2. pts/ptmx(pts/ptmx結合使用,進而實作pty): 在Xwindows模式下的僞終端。

    pts(pseudo-terminal slave)是pty的實作方法,與ptmx(pseudo-terminal master)配合使用實作pty。

    man裡面是這樣說的:ptmx and pts - pseudo-terminal master and slave,

    pts是所謂的僞終端或虛拟終端,具體表現就是你打開一個終端,這個終端就叫pts/0,如果你再打開一個終端,這個新的終端就叫pts /1。

比如用who指令查詢目前登入的使用者,可以看到每個使用者的TTY裝置(簡單來說就是使用者輸入指令還有顯示資訊的裝置,比如終端),下面是我機器上的顯示:

[root@localhost ~]# who

xjb tty1 2018-02-18 03:01 (:0)

xjb pts/0 2018-02-18 03:02 (:0.0)

root pts/1 2018-02-18 03:06 (192.168.31.1)

root pts/2 2018-02-18 03:07 (192.168.31.1)

root pts/3 2018-02-18 03:07 (192.168.31.1)

root pts/4 2018-02-18 03:07 (192.168.31.1)

[root@localhost ~]#

有一個tty1是表示圖形界面,目前登入的是GNOME,是圖形界面了。

(:0.0) 表示在伺服器登入的

兩個pts間發送消息

[root@localhost ~]# tty

/dev/pts/3

[root@localhost ~]# echo "Hey Binn. how are you?" > /dev/pts/2

/dev/pts/2

[root@localhost ~]# Hey Binn. how are you?

繼續閱讀