如何查看我的键盘发送的各种控制字符

How to see what various control characters are as sent by my keyboard

通常我会使用 xxd 来查看我输入的字符转换为十六进制。例如:

$ xxd

hello
00000000: 0a68 656c 6c6f 0a                        .hello.

但是,我将如何为以下对象做同样的事情:

似乎当我在 xxd 程序之外 'does something' 输入这三个中的任何一个时,而不是被识别为我想查看其十六进制代码的键盘输入。那么我如何才能看到我的键盘为所有字符组合发送的那些值?

在命令行控制台中,您可以先输入 Ctrl-V.[=17=,然后输入 Ctrl-Z 等代码]

例如,如果您输入以下内容:

xxd <<<'Ctrl-VCtrl-A'

然后您应该看到以下输出:

00000000: 010a                                     ..

(我相信您已经意识到,01 对应于 ^A0a 是其后的换行符)

在 ANSI 终端上,您也可以用这种方式输入 escape codes。例如,输入:

echo 'Ctrl-VEsc[1;31mHelloCtrl-VEsc[0m world'

以鲜红色打印一个单词,以默认颜色打印另一个单词。