^@ 열쇠가 뭔가요?

^@ 열쇠가 뭔가요?

터미널에 입력할 때 ^@는 어떤 키를 나타냅니까?

내 시스템이 이 키로 스팸을 받고 있으므로 이 키를 비활성화해야 합니다.

답변1

^@키가 아니라 제어 문자를 표현한 것입니다. 이 경우 NUL 문자는 바이트 값이 0인 문자입니다.

n이 X의 바이트 값인 경우의 바이트 값 ^X은 입니다 n ^ 0x40.

다음을 사용하여 바이트 값을 알 수 있습니다 X.

printf X | od -An -tu1

또는 (단일 바이트 문자의 경우):

printf '%d\n' "'X"

그래서 여기 있습니다:

$ printf '%s\n' "'@"
64
$ echo "$((64 ^ 0x40))"
0

을 위한 ^?:

$ printf '%s\n' "'?"
63
$ echo "$((63 ^ 0x40))"
127

(이것은 DEL 문자입니다).

터미널에 따라 를 누르 Ctrl+Space거나 입력하여 이 작업을 수행할 수 있습니다 Ctrl+@. Debian의 xterm에 있는 영국 키보드에서 이를 켰습니다 Ctrl+2(영국 키보드에서는 Shift 2 ", 미국 키보드에서는 @).

터미널과 터미널 에뮬레이터는 NUL 문자를 무시합니다. 그것은충전재과거에는 흐름 제어가 없었을 때 애플리케이션은 이 문자를 사용하여 두 개의 다른 제어 문자 사이에 터미널 시간을 제공했습니다.

^@NUL의 시각적 표현으로 애플리케이션과 같은 터미널에서 vim선택된 것을 볼 수 있습니다. 당신은 또한 일반적으로 그것을 다음과 같이 생각할 것입니다.에코입력하는 동안 입력한 NUL 문자입니다. 터미널 라인 규칙이 icanon모드 에 있고 echoctl매개변수가 활성화된 경우 터미널 드라이버 자체에 의해 실행되거나(일반적으로 기본적으로 활성화됨, 참고자료 참조 stty -a) 애플리케이션의 라인 편집기( 에서 readline사용됨 )에 의해 실행됩니다.bash

답변2

그것은 문자 0, ctrl-@입니다. 예를 들어. Ctrl-A는 문자 1이고 Ctrl-M은 문자 13 또는 개행입니다.

관련 정보