tty はネイティブ端末デバイスであり、バックエンドはハードウェアまたはカーネルがエミュレートされています。
一部 (疑似端末デバイス) は、他のプログラムによってエミュレートされる端末デバイスです (例:xterm 、 screen 、または ssh そのようなプログラムです)。 ポイント pty のスレーブ部分です .
(詳細は man pty にあります .)
短い要約 :
一部 posix_openpt() までのプロセスによって作成されます (これは通常、特別なデバイス /dev/ptmx を開きます )、双方向文字デバイスのペアで構成されています:
この呼び出しを通じてこのプロセスによって取得されたファイル記述子であるマスター部分は、端末をエミュレートするために使用されます。いくつかの初期化の後、2 番目の部分は unlockpt() でロック解除できます 、マスターはこの 2 番目の部分 (スレーブ) に文字を送受信するために使用されます。
/dev/pts/x としてファイルシステムに固定されているスレーブ部分 (本当の名前はマスターが ptsname() を介して取得できます。 ) ネイティブ端末デバイスのように動作します (/dev/ttyx )。ほとんどの場合、それを制御端末として使用するシェルが開始されます。
tty 通常の端末デバイス (サーバー上のコンソールなど) です。
pts 疑似端末スレーブ (xterm または ssh 繋がり)。
man pts 疑似端末の詳細な説明があります。