一个文件中的汉字

一个文件中的汉字

我在我的 linux mint 20.1 文件中的一个文件中发现了一些汉字 -/proc/1/cmdline 汉字 -猯楢⽮湩瑩猀汰獡h

但是当我使用命令在终端中打开同一文件时less,它显示:/sbin/init^@splash^@

这是正常现象还是在安全方面有什么值得担心的?

答案1

如果您采用以 null 结尾的字符串/sbin/initsplash,并将它们转换UCS-2LE(或 UNICODELITTLE,或 UCS-2-INTERNAL)编码使用iconv,你得到

$ printf '/sbin/init\0splash\0' | iconv -f UCS-2LE
猯楢⽮湩瑩猀汰獡h

的输出less更加正确。该less实用程序将 nul bytes ( \0) 显示为^@

结论:您看到的“中文文本”是由于您的编辑器确定数据编码为 UCS-2LE(无论出于何种原因)。它实际上不是中文,而只是两个以 null 结尾的字符串/sbin/initsplash

您无需担心。

有关更多信息/sbin/init splash请参阅:

此外,您不应期望文本编辑器能够正确理解虚拟文件的内容,/proc/1/cmdline因为它不是文本文件。这可能就是您的文本编辑器尝试确定文件编码但未能正确执行的原因。

看:/proc/<pid>/cmdline 文件的编码

相关内容