`/dev/console`はどこで使用されますか?

`/dev/console`はどこで使用されますか?

~からこの回答到着Linux:/dev/console、/dev/tty、および/dev/tty0の違い

~から 文書:

/dev/tty      Current TTY device
/dev/console  System console
/dev/tty0     Current virtual console

昔は/dev/consolesysadminコンソールがありました。 TTYは、サーバーに接続されたユーザーのシリアルデバイスです。 Now /dev/console/dev/tty0現在の表示を表し、通常は同じです。 console=ttyS0grub.conf。その後、あなたは/dev/tty0モニター/dev/consoleです/dev/ttyS0

合格」システムコンソール「は、仮想コンソールのデバイス/dev/consoleファイルと同様に、テキスト物理端末のデバイスファイルのように見えます。/dev/tty{1..63}

「および現在のディスプレイを表し、一般的に同じです」とすると、仮想コンソールのデバイスファイルである可能/dev/console性があります。 (は現在アクティブな仮想コンソールであり、そのいずれかである可能性があります)と似ています。/dev/tty0/dev/console/dev/console/dev/tty0/dev/tty{1..63}/dev/tty0/dev/tty{1..63}

何ですか/dev/console?それは何のために使用されますか?

Linuxカーネルとプロセスは/dev/console同じ目的を果たしますか?/dev/tty/dev/ttyプロセスプロセスセッションの制御端末はptsであり、1から63までですか?/dev/ttynn

別の返信話す:

カーネル文書には/dev/console文字デバイス番号が5:1で指定されています。この文字デバイスを開くと、コンソールリストの最後のttyである「デフォルト」コンソールが開きます。

console=「コンソールリスト」はすべてを意味しますか?起動オプション

/dev/console5:1番号の文字デバイス」とは、/dev/console物理テキスト端末(システムコンソールなど)用のデバイスファイルという意味ですか? (しかし、上記で引用した最初の答えは/dev/console同じかもしれないと言いました。/dev/tty0これは実際のテキスト端末ではなく仮想コンソールです。)

ありがとうございます。

ベストアンサー1

/dev/console存在の主な目的は、カーネルのコンソールをユーザー空間に公開することです。Linuxカーネルデバイスドキュメント今言う

コンソールデバイスは、/dev/consoleシステムメッセージを送信し、シングルユーザーモードでログインを許可する必要があるデバイスです。 Linux 2.1.71以降、これは/dev/consoleカーネルによって管理されています。以前のバージョンでは、システム構成によっては、特定の仮想/dev/tty0コンソール(デバイスではない/dev/tty1)またはシリアルポートホストへのシンボリックリンクでなければなりません。tty*cu*

/dev/console、メジャー5とマイナー1を持つデバイスノードで、カーネルがシステム管理者と対話する基本的な方法と見なすすべてのものにアクセスできます。これはシステムに接続されている物理コンソールです(仮想コンソールの抽象化が一番上にあるため、それは利用可能tty0またはttyNどこでも窒素1〜63)、シリアルコンソール、ハイパーバイザーコンソール、点字デバイスなどがあります。カーネル自体は、カーネルでは/dev/consoleなくユーザー空間に:deviceノードを使用しません。しかし、ノードが/dev/console存在し、利用可能であることを確認し、init標準入力、出力、およびエラーポイントを/dev/console

ここで説明されているように、/dev/console文字デバイスには固定メジャーとマイナーがあり、別のデバイス(物理デバイスではなくカーネルにアクセスする方法)なので、他のデバイスと同じか/dev/tty0他のデバイスと同じではありません。これは次のように似ています。状況/dev/ttyこれは、他の仮想コンソールや端末デバイスとはわずかに異なる機能を提供するため、独自のデバイス(5:0)です。

「コンソールリスト」は、実際に起動パラメータconsole=で定義されたコンソールのリストです(または存在しない場合はデフォルトのコンソール)。このように定義されたコンソールを見ることでこれを行うことができます/proc/consoles/dev/consoleアクセスを提供します最後に:

カーネルコマンドラインで複数のconsole =オプションを指定できます。出力はすべての項目に表示されます。を開くと、最後のデバイスが使用されます/dev/console

おすすめ記事