Linux 파일 이름의 키릴 기호

Linux 파일 이름의 키릴 기호

Buildroot 도구로 만든 Linux가 있습니다.

그리고 키릴 이름을 가진 파일을 생성하는 데 문제가 발생했습니다. 예를 들어 다음 명령을 사용하여 파일을 만들려고 하면 다음과 같습니다.

touch файл.txt

와 같은 이름의 파일을 얻었습니다 ????.txt.

변수를 내보내려고했습니다 LANG.

# export LANG=ru_RU.utf8
# echo $LANG
ru_RU.utf8

그리고 디렉터리와 EXT3 파티션에도 파일을 생성하려고 시도했지만 /temp결과는 같습니다.

일반적으로 시스템에서 키릴 문자를 사용할 수 있습니다. 프로그램에서 이를 인쇄할 수 있고 프로그램에서 키릴 문자를 사용할 수 있습니다(예: vi에서).

또 무엇을 시도할 수 있나요?

답변1

touch 했다파일 이름을 올바르게 작성하십시오. 그러나 ls그것을 표시하지 않습니다. 이는 ls기본적으로 인쇄 가능한 문자로 인식되지 않는 모든 항목에 대해 물음표를 표시하기 때문입니다.

다른 명령을 사용하여 디렉터리 내용을 표시하면 이를 테스트할 수 있습니다. 다음 명령 중 하나를 시도해 보십시오.

$ ls --show-control-chars
$ sh -c 'echo *'
$ python3 -c 'import os; print(os.listdir("."))'

를 입력할 때처럼 $LANG을 UTF-8 로케일로 설정하면 export LANG=ru_RU.UTF-8문제가 해결되었을 것입니다. 작동하지 않으니 확인해 보세요.

  • LC_CTYPE설정된 경우 값이 무시됩니다 LANG.
  • 시스템에 러시아어 지원 기능이 설치되어 있습니까? 그렇지 않은 경우 en_US.UTF-8.

관련 정보