猫什么也没显示

猫什么也没显示

我的团队正在 CI 环境中工作。

CI 环境每天都会定时生成一个ko名为 的文件,其类型为.x.koELF 64-bit LSB relocatable

今天发现这个ko文件的类型变成了data.

我正在尝试找出原因。

我尝试cat这个ko文件,但输出什么也没有。然后,我尝试这样做cat -et x.ko,它给了我很多^@^@^@^@^@^@^@^@^@^@^@^@^@^@......

你知道什么^@^@^@^@^@^@^@^@^@意思吗?

答案1

您的文件充满了空值,而不是空的。常规程序cat会将空值打印到标准输出,但您的终端通常会将它们显示为空,而将cat -v它们表示为^@^@表示空字节,因为“@”(0x40 或 64)xor 64(翻转位 7)的字节值为零。

为什么它突然充满了空值,我们无法从这里看出。

这个相关问题可能会提供有关插入符号表示的信息:ASCII 转义序列和控制字符配对是标准的一部分吗?

答案2

当心 ,不是显示二进制数据的完美工具。

一个简单的unix工具是OD(八进制转储)。

一个例子od-c-tx1

root@server:~# od -c -tx1 /etc/passwd | head
0000000   r   o   o   t   :   x   :   0   :   0   :   r   o   o   t   :
         72  6f  6f  74  3a  78  3a  30  3a  30  3a  72  6f  6f  74  3a
0000020   /   r   o   o   t   :   /   b   i   n   /   b   a   s   h  \n
         2f  72  6f  6f  74  3a  2f  62  69  6e  2f  62  61  73  68  0a
0000040   d   a   e   m   o   n   :   x   :   1   :   1   :   d   a   e
         64  61  65  6d  6f  6e  3a  78  3a  31  3a  31  3a  64  61  65
0000060   m   o   n   :   /   u   s   r   /   s   b   i   n   :   /   u
         6d  6f  6e  3a  2f  75  73  72  2f  73  62  69  6e  3a  2f  75
0000100   s   r   /   s   b   i   n   /   n   o   l   o   g   i   n  \n
         73  72  2f  73  62  69  6e  2f  6e  6f  6c  6f  67  69  6e  0a

所以你可以看到回车\n

相关内容