この質問に関して:https : //serverfault.com/questions/534449
cat /dev/urandom
いくつかのターミナルエミュレータを不安定にする方法は?
この質問に関して:https : //serverfault.com/questions/534449
cat /dev/urandom
いくつかのターミナルエミュレータを不安定にする方法は?
回答:
端末上で前後に送信される通常の印刷可能なASCII文字がありますが、システムが端末と通信するために使用される多くの印刷できない文字もあります。たとえば、プログラムが文字0x07
(「ASCIIベル文字」)を送信する場合、端末はビープ音を鳴らします。
他の特別なシーケンスを使用して、表示されるテキストの色、表示される方向、ウィンドウのタイトル、ウィンドウのサイズなどを変更できます。
あなたが
cat /dev/urandom
ランダムな文字の束が端末にダンプされ、端末は実際の制御コードではないことを認識できません。
プログラムは事実上ランダムなコマンドを端末に送信しているため、端末はランダムで、多くの場合使用できない状態になります。
ランダム出力の一部はANSIエスケープコード(http://en.wikipedia.org/wiki/ANSI_escape_code)になります。これは、カーソルを非表示にしたり、代替フォントを選択したりといった楽しいことを実行できます。別の可能性としては、ユニコードシーケンスがあります。ランダムバイトストリームは有効なUTF-8ではなく、おそらくすべてのユニコード対応端末が適切に処理するわけではありません。
cat /dev/urandom
間あなたのランダムなバイトのストリームを与える0
と255
、すべてではないそれらの値のが有効なテキスト文字です。ターミナルウィンドウは無効なデータをフィードするため、それを処理することは想定されていなかったため、ターミナルアプリケーションが「壊れた」状態になる可能性がありました。