
これは私のUbuntuです。
$ ls /dev/*tty*
/dev/tty /dev/tty17 /dev/tty26 /dev/tty35 /dev/tty44 /dev/tty53 /dev/tty62 /dev/ttyS12 /dev/ttyS21 /dev/ttyS30
/dev/tty0 /dev/tty18 /dev/tty27 /dev/tty36 /dev/tty45 /dev/tty54 /dev/tty63 /dev/ttyS13 /dev/ttyS22 /dev/ttyS31
/dev/tty1 /dev/tty19 /dev/tty28 /dev/tty37 /dev/tty46 /dev/tty55 /dev/tty7 /dev/ttyS14 /dev/ttyS23 /dev/ttyS4
/dev/tty10 /dev/tty2 /dev/tty29 /dev/tty38 /dev/tty47 /dev/tty56 /dev/tty8 /dev/ttyS15 /dev/ttyS24 /dev/ttyS5
/dev/tty11 /dev/tty20 /dev/tty3 /dev/tty39 /dev/tty48 /dev/tty57 /dev/tty9 /dev/ttyS16 /dev/ttyS25 /dev/ttyS6
/dev/tty12 /dev/tty21 /dev/tty30 /dev/tty4 /dev/tty49 /dev/tty58 /dev/ttyprintk /dev/ttyS17 /dev/ttyS26 /dev/ttyS7
/dev/tty13 /dev/tty22 /dev/tty31 /dev/tty40 /dev/tty5 /dev/tty59 /dev/ttyS0 /dev/ttyS18 /dev/ttyS27 /dev/ttyS8
/dev/tty14 /dev/tty23 /dev/tty32 /dev/tty41 /dev/tty50 /dev/tty6 /dev/ttyS1 /dev/ttyS19 /dev/ttyS28 /dev/ttyS9
/dev/tty15 /dev/tty24 /dev/tty33 /dev/tty42 /dev/tty51 /dev/tty60 /dev/ttyS10 /dev/ttyS2 /dev/ttyS29
/dev/tty16 /dev/tty25 /dev/tty34 /dev/tty43 /dev/tty52 /dev/tty61 /dev/ttyS11 /dev/ttyS20 /dev/ttyS3
7つの仮想コンソールがあります。
また、gnome端末にいくつかのタブが開いており、2つのemacs(一部のシェルが実行されていますがすべて閉じられている可能性があります)とスクリーンセッション(しかし今は閉じています)があります。
/dev/tty
/dev/tty[[:digit:]]+
これら、そしてそして/dev/ttyprintk
の違いは何ですか/dev/ttyS[[:digit:]]+
?- 各ttyファイルがどのデバイスに対応しているかを確認する方法は?
一部の人々はpseudo-ttyのデバイスファイルが/ dev /であると言います。フーティところで、ここに pty ファイルやディレクトリがない理由は次のとおりです。
$ ls /dev/*pty* ls: cannot access /dev/*pty*: No such file or directory
どういう意味なのかよくわかりません
/dev/*pts*
。$ ls /dev/*pts* 0 1 10 11 12 13 14 15 16 17 18 2 20 21 22 23 24 26 3 4 5 6 7 8 9 ptmx
ありがとうございます!
答え1
ターミナルとは何ですか?
端末は画面とキーボードで構成されており、コンピュータ(ホスト)との通信を行うために使用されます。ほとんどパーソナルコンピュータのように使用されますが、端末は通信しているホストコンピュータから離れています(部屋の反対側、さらには世界の反対側)。
質問1
/dev/tty
現在のプロセスの制御端末を表します(存在する場合)。どのttyがどのプロセスに接続されているかを確認するには、ps -a
シェルプロンプト(コマンドライン)でこのコマンドを使用します。tty
コラムを読んでください。現在使用中のシェルプロセスの場合、/dev/tty
現在使用中の端末です。- Linuxでは、PCモニタはコンソールと呼ばれ、それに関連するいくつかのデバイス特殊ファイル(、
tty0
など)があります。ログインしてください。移動するには - を押します。 、等。tty1
tty2
tty1
tty2
AltF2tty1
tty2
仮想端末(時には「仮想コンソール」とも呼ばれる)。さまざまな仮想端末にログインして、コンピュータ上で同時に複数のセッションを持つことができます。 「?」で - キーを使ってAlt2つを切り替えることができます。F?希望する仮想端末番号です。コンソールとも呼ばれる/dev/tty0
システムメッセージは、デバイスに送信され、コンソールに表示されることがあります。システムまたはrootユーザーだけが、時にリンクされた/dev/tty0
コンテンツに書き込むことができます/dev/console
。 ttyprintk
printk
ユーザーがデバイスに出力してメッセージを送信できるようにする擬似TTYドライバ。ttyprintk
/dev/tty/S[[:digit:]]
シリアルポートを示します。各端末はホストシステム(通常はPC)のシリアルポートに接続されています。ポートには名前/番号があります。最初のいくつかはttyS0
、ttyS1
などです。これは(デバイス)ディレクトリttyS2
にある特別なファイルとして表示されます。 DOSやWindowsのCOM1に対応します。 COM2などです。/dev
ttyS0
ttyS1
質問3そして質問4関係があります。ザイルズの素晴らしい説明があります。ここ。彼の答えから抜粋した内容は次のとおりです。
擬似端末は、アプリケーションである端末エミュレータによって提供されます。擬似端末のいくつかのタイプは次のとおりです。
- GUIアプリケーション(xterm、gnome-terminal、konsoleなど)は、キーボードイベントとマウスイベントをテキスト入力に変換し、出力を特定のフォントでグラフィカルに表示します。
- マルチプレクサアプリケーション(screenやtmuxなど)は、他の端末の入力と出力を中継して、実際の端末からテキストモードのアプリケーションを分離します。
- リモートシェルアプリケーション(sshd、telnetd、rlogindなど)は、クライアントのリモート端末とサーバーのptyの間で入出力を中継します。
さらに、擬似ターミナルウィキページ、次のメッセージが表示されます。
デフォルトのデバイスファイルの名前は通常/dev/pty [p-za-e] [0-9a-f]で、端末エミュレータとの通信のためのエンドポイントです。この[p-za-e]命名方式を使用すると、最大256個のttyペアを持つことができます。また、ロック方式を使用しない限り、最初の無料のPtyマスターを見つけることは危険です。したがって、最新のBSDオペレーティングシステム(FreeBSDなど)はUnix98 PTYを実装しています。 [4]
BSD PTYはUnix98 ptyによって削除されました。 Unix98 ptyの命名システムは疑似端末の数を制限せず、疑似端末へのアクセスは競合状態のリスクをもたらさない。 /dev/ptmx は「擬似ターミナルマスターマルチプレクサ」です。これを開くと、マスターノードのファイル記述子が返され、関連付けられたスレーブノード/dev/pts/Nが作成されます。
だから私はそれを使用できないと思います。/dev/pty
だからあなたは。/dev/pts
引用する
http://www.tldp.org/HOWTO/Text-Terminal-HOWTO-7.html