標籤:

Linux中console、terminal、tty、pty、pts區別?


tty: terminal(終端),console(控制台)
pty: pseudo terminal (ssh,gnome-terminal,konsole,xfce4-terminal,lxterminal)
ptmx: pseudo terminal master x (/dev/ptmx)
pts: pseudo terminal slave (/dev/pts/0)

/dev/tty* 終端
/dev/ttyS* 串口終端
/dev/ttyUSB* USB轉串口終端
/dev/ptmx pty主設備
/dev/pts/* pty從設備

比如你ssh登錄一台Linux伺服器,執行w查看誰在線:

23:46:23 up 8 days, 23:21, 1 user, load average: 0.00, 0.00, 0.00
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/0 123.123.123.123 23:40 0.00s 0.02s 0.00s w

可見,TTY即pts/0,即/dev/pts/0.

偽終端pts的工作依賴/dev/ptmx和/dev/pts/0的主從驅動,man pts可見:

http://www.man7.org/linux/man-pages/man4/tty.4.html
http://www.man7.org/linux/man-pages/man7/pty.7.html
http://www.man7.org/linux/man-pages/man4/pts.4.html
ptmx, pts - pseudoterminal master and slave
The file /dev/ptmx is a character file with major number 5 and minor
number 2, usually of mode 0666 and owner.group of root.root. It is
used to create a pseudoterminal master and slave pair.

另外,你在Linux桌面打開一個gnome-terminal標籤頁,也會在/dev/pts下生成一個對應的字元設備文件.


推薦閱讀:

linux上,C代碼被編譯鏈接成可執行文件後,被載入運行的過程具體是怎樣的?
如何學習使用桌面 Linux 發行版?
Linux不是開源的嗎,為什麼RedHat的伺服器版那麼貴?
Linux 桌面應用最大的問題是什麼?

TAG:Linux |