ICRNLやOCRNLなどのオプションでは、「入力時」と「出力時」とはどういう意味ですか?

ICRNLやOCRNLなどのオプションでは、「入力時」と「出力時」とはどういう意味ですか?

文書にはtermios次のように記載されています。

ICRNL

入力時にキャリッジリターンを改行に変換します(IGNCRが設定されていない場合)。

オークランド国立研究所

出力でCRをNLにマップします。

ところで、「入力時」と「出力時」とは正確に何を意味しますか?そう思います:

  • 「入力時」は、端末がttyデバイスに何かを送信することを意味します。
  • 「出力時」は、bash(または他のプロセスが)ttyデバイスに何かを送信する場合を意味します。

私は正しいですか?

答え1

コンピュータのシリアルポート(vt100など)に接続されている「愚かな端末」と考え、コンピュータの観点から見てください。

したがって、コンピュータへの「入力」は、たとえばキーボードで入力したときに端末がコンピュータにデータを送信する場合です。

同様に、「出力」とは、コンピュータが画面に何かを印刷するときに端末に何かを送信することを意味します。

より近代的な設定(たとえば、Linuxコンソール)でも、「入力」はキーボードで入力され、「出力」は画面に表示されるのと同じ概念を持ちます。

これは「stdin」と「stdout」の標準規則に従います。

答え2

だから、ちょうどテミオスこれは、端末(文字を入力するデバイスと組み合わせて文字を表示するデバイス)とホスト間の通信のみが含まれるためです。

それ「存在する」ぎこちないように見えるかもしれませんが、「入力をする中」、「出力をしているうち」を減らして表現しただけです。

関連情報