私のLinux Mint 20.1のファイルの1つで漢字 -/proc/1/cmdline
汉字を見つけました。猯楢⽮湩瑩猀汰獡h
ただし、コマンドを使用して端末で同じファイルを開くと、less
次のようになります。/sbin/init^@splash^@
これは正常ですか、それともセキュリティの面で心配することがありますか?
答え1
null で終わる文字列を取得して変換する/sbin/init
場合splash
~からUCS-2LE(またはUNICODELITTLEまたはUCS-2-INTERNAL)エンコーディングを使用すると、iconv
次のことができます。
$ printf '/sbin/init\0splash\0' | iconv -f UCS-2LE
猯楢⽮湩瑩猀汰獡h
出力はless
より正確です。このless
ユーティリティは\0
nul バイト ( ) でマークします^@
。
結論:あなたが見る「中国語のテキスト」は、編集者がデータエンコーディングが(何らかの理由で)UCS-2LEであると決定したからです。実際には中国語ではなく、2つのnullで終わる文字列の/sbin/init
合計ですsplash
。
心配する必要はありません。
詳細については、次を/sbin/init splash
参照してください。
/proc/1/cmdline
また、ダミーファイルはテキストファイルではないため、テキストエディタがダミーファイルの内容を正確に理解することを期待してはいけません。これはおそらく、テキストエディタがファイルのエンコーディングを決定しようとしていますが、正しく実行できない理由です。