Linux-Mint

一檔漢字

  • January 18, 2021

我在我的 linux mint 20.1 文件中的一個文件中發現了一些中文字元 -/proc/1/cmdline 中文字元 -猯楢⽮湩瑩猀汰獡h

但是當我使用命令在終端中打開相同的文件時less,它顯示:/sbin/init^@splash^@

這是正常的還是在安全方面有什麼可擔心的?

如果您採用以 nul 結尾的字元串/sbin/initsplash並使用 將它們UCS-2LE(或 UNICODELITTLE,或 UCS-2-INTERNAL)編碼轉換iconv,您將得到

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

的輸出less更正確。該less實用程序將 nul 字節 ( \0) 顯示為^@.

結論:您看到的“中文文本”是由於您的編輯器確定數據編碼為 UCS-2LE(無論出於何種原因)。它實際上不是中文,而只是兩個以 nul 結尾的字元串/sbin/initsplash.

您無需擔心。

有關更多資訊,/sbin/init splash請參閱:

此外,您不應期望文本編輯器能夠正確理解虛擬文件的內容,/proc/1/cmdline因為它不是文本文件。這可能是您的文本編輯器嘗試確定文件的編碼但未能正確執行的原因。

請參閱:/proc/<pid>/cmdline 文件的編碼

引用自:https://unix.stackexchange.com/questions/629723