ICRNL 및 OCRNL과 같은 옵션에서 "입력 시" 및 "출력 시"는 무엇을 의미합니까?

ICRNL 및 OCRNL과 같은 옵션에서 "입력 시" 및 "출력 시"는 무엇을 의미합니까?

문서에는 termios다음과 같이 나와 있습니다.

ICRNL

입력 시 캐리지 리턴을 개행으로 변환합니다(IGNCR이 설정되지 않은 경우).

OCRNL

출력 시 CR을 NL에 매핑합니다.

그런데 "입력 시"와 "출력 시"는 정확히 무엇을 의미합니까? 내 생각은 이렇다.

  • "입력 시"는 터미널이 tty 장치에 무언가를 보내는 경우를 의미합니다.
  • "출력 시"는 bash(또는 다른 프로세스가) tty 장치에 무언가를 보내는 경우를 의미합니다.

나 맞아?

답변1

컴퓨터의 직렬 포트에 연결된 "멍청한 터미널"(예: vt100)이라는 관점에서 생각하고 컴퓨터의 관점에서 살펴봐야 합니다.

따라서 컴퓨터에 대한 "입력"은 터미널이 컴퓨터에 데이터를 보내는 경우입니다. 예를 들어 키보드로 입력할 때.

마찬가지로 "출력"은 컴퓨터가 터미널로 내용을 보내는 경우입니다. 예를 들어 화면에 뭔가를 인쇄할 때.

보다 현대적인 설정(예: Linux 콘솔)에서도 여전히 동일한 개념을 갖습니다. "입력"은 키보드로 입력되는 내용이고, "출력"은 화면에 표시되는 내용입니다.

이는 "stdin" 및 "stdout"의 표준 규칙과 일치합니다.

답변2

맞다, 어디까지나테미오스왜냐하면 터미널(문자를 입력하는 장치와 결합된 문자를 표시하는 장치)과 호스트 컴퓨터 간의 통신에만 관련되기 때문입니다.

저것"에"어색해 보일 수도 있지만 "입력을 수행하는 중" 또는 "출력을 수행하는 중"을 짧게 표현한 것입니다.

관련 정보