ファイルの漢字

ファイルの漢字

私の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ユーティリティは\0nul バイト ( ) でマークします^@

結論:あなたが見る「中国語のテキスト」は、編集者がデータエンコーディングが(何らかの理由で)UCS-2LEであると決定したからです。実際には中国語ではなく、2つのnullで終わる文字列の/sbin/init合計ですsplash

心配する必要はありません。

詳細については、次を/sbin/init splash参照してください。

/proc/1/cmdlineまた、ダミーファイルはテキストファイルではないため、テキストエディタがダミーファイルの内容を正確に理解することを期待してはいけません。これはおそらく、テキストエディタがファイルのエンコーディングを決定しようとしていますが、正しく実行できない理由です。

望むより:/proc/<pid>/cmdline ファイルのエンコード

おすすめ記事