GNU/Linux >> Linux の 問題 >  >> Linux

`cat /dev/urandom` が端末を破壊するのはなぜですか?

端末上で送受信される通常の印刷可能な ASCII 文字がありますが、システムが端末と通信するために使用される印刷できない文字も多数あります。たとえば、プログラムが文字 0x07 を送信した場合 ("ASCII ベル文字")、端末はビープ音を鳴らします。

他の特別なシーケンスを使用して、表示されるテキストの色、表示される方向、ウィンドウのタイトル、ウィンドウのサイズなどを変更できます。

あなたが

cat /dev/urandom

大量のランダムな文字が端末にダンプされ、端末はそれが実際の制御コードではないことを認識できません。

プログラムは効果的にランダムなコマンドを端末に送信しているため、端末はランダムな、多くの場合使用できない状態になります。


ランダムな出力の一部は ANSI エスケープ コード (http://en.wikipedia.org/wiki/ANSI_escape_code) になり、カーソルを非表示にしたり、別のフォントを選択したりするなどの楽しいことができます。もう 1 つの可能性は Unicode シーケンスです。ランダムなバイトストリームは有効な UTF-8 ではなく、おそらくすべての Unicode 対応端末が適切に処理できるわけではありません。


Linux
  1. Linux:/ dev / console、/ dev / tty、/ dev / tty0の違いは?

  2. / dev / stdin、/ dev / stdout、および/ dev / stderrはどの程度移植可能ですか?

  3. / dev/randomと/dev/ urandomをいつ使用するか?

  1. Linux – / dev / urandomで「u」という文字は何を意味しますか?

  2. find -exec mv {} ./target/ + が機能しないのはなぜですか?

  3. screen 端末 '/dev/pts/0' を開けません - 確認してください

  1. /dev/shm/ と /tmp/ はいつ使用する必要がありますか?

  2. /dev/random の dd でファイル サイズが異なるのはなぜですか?

  3. カーネル:/dev/kmem と /dev/mem を無効化