(1)終端分類:
? ? ? ? ? ? ?Alt+Ctrl+F1~F6? ?字符終端? ? ?pts :偽終端
? ? ? ? ? ? Alt+Ctrl+F7? ? 圖形終端
? ? ? ? ? ? SSH,Telnet? ? ? ? 網路終端
(2)終端的啟動流程
? ? ? ? ? 每一個進程都可以通過一個特殊的設備文件/dev/tty訪問它的控制終端,具體訪問流程為:
? ? ? ? ? ? ?init-->fork--->exec-->getty(進程)-->輸入賬號/密碼-->exec-->bash
(3)線路規程
? ? ? ? ? 在命令行輸入命令時,有些命令有特殊的含義,有些命令只是字符,系統通過線路規程來完成對特殊字符的過濾,具體實現如下:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
(4)網路終端
? ? ? ? 網絡終端通過偽終端來實現命令解析的。一套偽終端中由一個主設備和從設備組成,主設備類似于鍵盤和顯示器,不過它只是一個內核模塊,操作它的是一個進程而非用戶。
? ? ? ? ?具體實現流程:用戶進程輸入命令,通過對應的網路協議和網卡驅動,數據傳輸到網絡上。主機的網路終端通過對數據解析還原,通過偽終端設備送往bash解析器進行解析,解析之后的數據沿著原路返回給用戶,具體流程如下:
? ? ? ?