`tail -f /dev/vcs` は可能ですか?

`tail -f /dev/vcs` は可能ですか?

仮想端末から出力の連続ストリームを取得したいのですが、それは可能ですか? 不可能な場合、なぜtail -fここでは機能しないのですか?

答え1

このtailコマンドは、通常のファイルで動作するように設計されており、ファイルの長さを読み取り、末尾までシークし、長さの増加を監視できます。パイプまたは文字特殊ファイルでは使用できません。これらのファイルでは長さが意味をなさないことが多く、シークできません (動作しようとする可能性があります)。

/dev/vcs 文字特殊は、仮想コンソールのスクリーンダンプを出力しますが、一定のデータストリームは出力しません。したがって、catも も役に立ちませんtail。単にスクリーンダンプ (改行なし) を出力し、その後に EOF を出力します。

これを出力ストリームに変換するのは非常に困難です。なぜなら、ある時点のビューしか取得できず、そこからコンソールに送信された文字ストリームが何であるかを判断できないためです。

関連情報