이번 주에 시험을 봤는데 질문 중 하나가 다음과 같습니다(정답은 1개임).
파일 이름에는 다음 문자가 포함될 수 있습니다.
ㅏ)
\
비)
/
씨)
?
디)
!
c) ?
보기에 좋을 것 같아서 선택했어요 . 집에 돌아와서 내 컴퓨터(Ubuntu 14.04)에서 테스트했는데 파일이 성공적으로 생성되었습니다. 기성 계산기에는 정답이 표시되어 있습니다 d) !
.
시험이 Windows용이라는 것을 알고 있지만 시험지에 플랫폼이 지정되어 있지 않습니다.
분명히 파일 이름은 \
문자를 지원하지 않습니다./
하지만운영 체제에서 강제로 허용하도록 하는 방법이 있습니까?
\
숫자와 문자가 모두 지원된다는 점을 보여줄 수 있다면 /
정말 좋을 것 같습니다 .
답변1
파일 이름에 허용되는 문자를 고려할 때 운영 체제 관련 제한 사항과 파일 시스템 관련 제한 사항이라는 두 가지 제한 요소가 있습니다. 이 질문에 대해서는 최신 버전의 Linux 및 ext4에 대해 이야기하고 있다고 가정합니다.
Linux에서는 파일 이름에 두 문자만 허용하지 않습니다. /
는 경로 구분 기호이기 때문이고 \0
(ASCII NUL)은 cstring을 끝내기 때문입니다. 이 외에도 파일 시스템에는 탐색을 위한 특수 이름 .
과 ..
하드 링크도 예약되어 있습니다.
질문에 언급된 다른 문자가 허용된다는 것을 쉽게 증명할 수 있습니다.
$ touch '\' '?' '!'
$ ls
! ? \