
端末に入力すると、^@はどのキーを表しますか?
システムはこのキーでスパムを受信しているため、このキーを無効にする必要があります。
答え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 文字を無視します。それ充填材過去にフロー制御がなかったとき、アプリケーションはこの文字を使用して2つの異なる制御文字の間に端末時間を提供しました。
^@
NULの視覚的表現により、アプリケーションなどの端末で選択されたものが表示さvim
れます。また、一般的にそれを次のように考えます。エコ入力中に入力したNUL文字。ターミナルラインルールicanon
がモードにあり、echoctl
パラメータが有効になっている場合は、ターミナルドライバ自体によって実行されるか(通常はデフォルトで有効になっている、参考資料を参照)、stty -a
アプリケーションのラインエディタ(でreadline
使用されます)によって実行されます。bash
答え2
それは文字0、ctrl-@です。例えば。 Ctrl-A は文字 1、Ctrl-M は文字 13 または改行です。