问题描述
通常我会使用 xxd
来查看我输入的字符转换为十六进制。例如:
$ xxd
hello
00000000: 0a68 656c 6c6f 0a .hello.
但是,我将如何为:
- Ctrlz
- Ctrld
- Ctrlc
当我输入这三个中的任何一个时,它似乎在 xxd
程序之外“执行某些操作”,而不是被识别为我想查看其十六进制代码的键盘输入。那么如何查看键盘为所有字符组合发送的值?
解决方法
在命令行控制台中,您可以通过先输入 Ctrl-V 来输入类似 Ctrl-Z 的代码。
例如,如果您输入以下内容:
xxd Ctrl-VCtrl-A'
然后您应该看到以下输出:
00000000: 010a ..
(其中,我相信您已经意识到,01
对应于 ^A
,而 0a
是它之后的换行符)
在 ANSI 终端上,您也可以通过这种方式输入 escape codes。例如,输入:
echo 'Ctrl-VEsc[1;31mHelloCtrl-VEsc[0m world'
以鲜红色打印一个单词,以默认颜色打印另一个单词。