파일의 한자

파일의 한자

내 리눅스 민트 20.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라고 결정했기 때문입니다. 실제로는 중국어가 아니며 단지 두 개의 null로 끝나는 문자열의 /sbin/init합일 뿐입니다 splash.

걱정할 필요가 없습니다.

자세한 내용은 다음을 /sbin/init splash참조하세요.

/proc/1/cmdline또한 더미 파일은 텍스트 파일이 아니기 때문에 텍스트 편집기가 더미 파일의 내용을 정확하게 이해할 것이라고 기대해서는 안 됩니다 . 이것이 아마도 텍스트 편집기가 파일의 인코딩을 결정하려고 하지만 올바르게 수행하지 못하는 이유일 것입니다.

바라보다:/proc/<pid>/cmdline 파일 인코딩

관련 정보