我看到这个问题为什么 Ctrl-D (EOF) 会退出 shell?并想尝试第二个答案的示例。所以我创建了一个文件并使用了 hexdump:
federico@home ~ $ cat > test.txt
prova
^C
federico@home ~ $ hexdump test.txt
0000000 7270 766f 0a61
0000006
第二行最后有“6”,如果我尝试使用http://www.rapidtables.com/convert/number/hex-to-ascii.htm从十六进制解码为 ascii 我得到一个奇怪的字母顺序。为什么会发生这种情况?谢谢
答案1
您使用的是小端 CPU,hexdump 显示的 16 位字已进行字节交换。
6
是第二个空转储行的偏移量,您的文件仅包含六个字节。
使用od -c
或od -t x1
来获得预期的顺序:
$ od -c test.txt
0000000 p r o v a \n
0000006
$ od -t x1 test.txt
0000000 70 72 6f 76 61 0a
0000006