답변1
^O
표현이다특징Ctrl, 일반적으로 + o(키 아님)를 누를 때 터미널에서 전송됩니다 . 터미널에서 애플리케이션은 키보드 이벤트를 처리하는 대신 키나 키 조합을 누를 때 터미널이 전송하는 바이트인 /dev/tty*
장치 파일에서 바이트 스트림을 읽어 입력을 받습니다 ./dev/pt*
ASCII 기반 시스템에서 사용되는 ASCII 기반 터미널(현재 사양, 대부분의 시스템/터미널은 미국 영어가 아닌 문자를 지원하도록 확장하지만)을 사용하여 를 입력하면 a터미널 z은 97~122(또는 0x60 | letter
) 바이트를 전송합니다. ASCII의 a
to 문자 ; z
키를 누른 상태에서 동일한 작업을 수행하면 ShiftASCII( )로 바이트 65~90이 전송됩니다 0x40 | letter
.A
Z
사용되면 Ctrl바이트 1~26(1)을 보냅니다 0x00 | letter
.
이제 바이트 0~31은제어문자에는 글리프나 글꼴 표현이 없습니다. 이름이 있습니다( 참조 man ascii
). 9( Ctrl+ 또는 로 i전송 ⭾)는 탭이고, 10은 줄바꿈( Ctrl+ 로 전송 j), 13은 캐리지 리턴( Ctrl+ m또는 으로 전송 Enter되지만 터미널 드라이버는 종종 이를 개행 기호로 변환한다는 점에 유의하세요).
Ctrl+에 전송된 문자는 o다음과 같습니다.이사 오다제어 문자. 대신 nano
사용 한다면 대부분의 사람들은 해당 제어 문자를 보내는 방법을 모를 것입니다.<shift-in> Write Out
^O Write Out
^A
... ^Z
( ^[
^\
^]
^^
^_
27..31의 경우, ^@
0의 경우, ^?
127^의 경우)는 때때로 호출됩니다.모자 기호이러한 문자의 일반적인 시각적 표현입니다. cat -vt
터미널 라인 규칙에 의해 또는 그 이후에도 사용된다는 것을 알 수 있습니다 stty echoctl
.
다른 기호에는 \CA
또는 이 포함됩니다 \C-A
. 일부 제어 문자 \n
에는 ^J
/newline, /BEL \a
과 같은 C 문자열 표현이 있습니다 .^G
하지만 ^A
/ \C-A
키보드를 사용하여 생성하는 방법에 대한 지침이 더 도움이 됩니다.
1은 @
ASCII에서는 0x40이고 ?
0x3f에서는 0x40이므로 문자는 , 즉 두 번째 최상위 비트가 반전된 X의 바이트 값 ^X
으로 얻을 수 있습니다 . 또한 ASCII 전용 터미널은 + 및 + 를 보내는 데 사용하는 0x80 ~ 0x9f 및 0x40 ^ X
0xa0 ~ 0xff 바이트의 M-^X
합계 표현을 찾을 수 있습니다. 하지만 요즘에는 ESC( ) 다음에 / 를 보내는 것을 선호합니다 . 왜냐하면 비트 8이 non 대신 사용되기 때문입니다. -ASCII 문자, 바이트 0xd5의 의미보다는 요즘 기대할 것으로 예상했는데 , 바이트 0xd5는 아르메니아 문자 U+0540 ~ U+057F 또는 ISO8859 - 1의 UTF-8 인코딩의 첫 번째 바이트로도 발견되기 때문입니다. (일명 라틴어 1)M-X
MetaCtrlXMetaX^[
^X
X
nano
^[U
M-U Undo
Õ