Linux 中的終端機實際上是如何運作的?

Linux 中的終端機實際上是如何運作的?

我使用 Linux 控制台已有多年,但目前開始思考它的實際運作原理。輸入 acommand作為字串並按下Enter可在同一終端視窗中返回其輸出。

開啟新的終端機視窗並執行tty顯示以下結果:

$ tty
/dev/pts/10

pty 上的手冊頁定義:

一個期望連接到終端的進程,可以打開一個偽終端的從端,然後由打開了主端的程式驅動。在主端寫入的任何內容都會提供給從端的進程,就像在終端機上輸入的一樣。[...]反之,寫入偽終端從機端的任何內容都可以被連接到主機端的進程讀取

我的理解:

實際的終端機視窗連接到從機/dev/pts/10,我在終端機視窗中輸入的所有輸入都在從機端寫入,然後在主機端讀取。連接到主端的進程知道如何處理用戶輸入的所有字串,執行它們並將命令結果寫入主端,然後在從端讀取並顯示在終端視窗中。

問題:

連接到主端的程序是什麼,它知道如何執行使用者以字串形式輸入的命令?

相關內容