내 리눅스 민트 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
유틸리티는 \0
nul 바이트( )를 로 표시합니다 ^@
.
결론: 당신이 보는 "중국어 텍스트"는 편집자가 데이터 인코딩이 (어떤 이유로든) UCS-2LE라고 결정했기 때문입니다. 실제로는 중국어가 아니며 단지 두 개의 null로 끝나는 문자열의 /sbin/init
합일 뿐입니다 splash
.
걱정할 필요가 없습니다.
자세한 내용은 다음을 /sbin/init splash
참조하세요.
/proc/1/cmdline
또한 더미 파일은 텍스트 파일이 아니기 때문에 텍스트 편집기가 더미 파일의 내용을 정확하게 이해할 것이라고 기대해서는 안 됩니다 . 이것이 아마도 텍스트 편집기가 파일의 인코딩을 결정하려고 하지만 올바르게 수행하지 못하는 이유일 것입니다.