터미널에 있는 ASCII 제어 문자 노트

터미널에 있는 ASCII 제어 문자

저자는 터미널에서 제어 코드의 개념을 탐구합니다. 예를 들어 Ctrl-A, Ctrl-C, Ctrl-W와 같은 코드들이 어떻게 작동하는지에 대해 설명합니다. ASCII 제어 문자는 33개가 있으며, 운영 체제의 터미널 드라이버가 처리하는 코드, 실제 키 누름에 해당하는 코드, readline에서 사용하는 코드로 분류할 수 있습니다. 저자는 이러한 코드들이 실제 구조 없이 유기적으로 진화했기 때문에 어느 코드가 어느 카테고리에 속하는지에 대한 실제 구조가 없음을 지적합니다. 제어 코드는 총 33개밖에 없으므로 Ctrl-1을 키보드 단축키로 사용하고 싶다면 의미가 없습니다. 왜냐하면 1을 누르는 것과 동일하기 때문입니다. 저자는 Ctrl+Shift+C도 제어 코드가 아니며, 터미널 에뮬레이터에 따라 행동이 다르다고 지적합니다. ASCII 제어 코드의 공식 이름은 실제로 사용되지 않습니다. 왜냐하면 원래 텔레그래프 기계를 위해 정의되었고, 이후 다른 용도로 재사용되었기 때문입니다. 저자는 Ctrl-M과 Ctrl-I를 키보드 단축키로 사용하는 것이 어려움을 느낍니다. 왜냐하면 Enter와 Tab 키와 동일하기 때문입니다. 저자는 다양한 키 조합을 눌렀을 때 보내지는 제어 코드를 확인하는 파이썬 스크립트를 제공합니다. 저자는 Ctrl-W와 Ctrl-U와 같은 일부 제어 코드가 터미널이 표준 모드인지 비표준 모드인지에 따라 다르게 처리될 수 있음을 지적합니다. 마지막으로 저자는 제어 코드와 관련된 많은 예외 사항과 충돌이 있으며, 이러한 모든 정보가 실제로는 유용하지 않을 수 있음을 인정합니다.