2012-10-12 5 views
0

절대 경로 이름의 다른 제한 사항은 무엇입니까?유닉스 파일 시스템의 절대 경로 이름은 "/"로 시작해야합니까?

유일한 제한 사항은 "/"로 시작해야하며 다음 ASCII 문자 시퀀스는 각각 "/"로 구분 된 ASCII 문자 세그먼트로 구성되어야합니다.

참고 : 경로 이름을 파일에 매핑하는 함수의 이름 공간을 파악하려고합니다.

편집 : 내 숙제 때문에 제한에 대한 내 추론이 정확하다는 것이 밝혀졌습니다.

답변

3

경로 이름의 길이는 PATH_MAX를 초과 할 수 없습니다 (/usr/include/limits.h 또는 sysconf (3) 참조).

파일의 길이는 파일 시스템에 따라 달라질 수있는 NAME_MAX를 초과 할 수 없습니다. fpathconf (3) 또는 pathconf을 참조하십시오.

절대 경로는 '/'로 시작합니다.

1

짧은 답변은 사용 된 파일 시스템에 따라 다르지만 커널에서 특정 문자셋을 강제 설정할 수 있습니다.

긴 버전은 대부분 제한이 없으며 파일 이름에서 '/'또는 '\ 0'을 유효한 문자로 사용할 수도 있지만 소프트웨어에서 다루는 것은 미친 것입니다. , 아무도 그 "기능"을 실제로 사용하지 않습니다. 예를 들어 FAT 파일 시스템을 매핑하면 해당 파일에 대해 합법적 인 것으로 제한됩니다 (아스키 만 가능). ext4와 reiserfs4를 사용하여 '/'와 '\ 0'을 제외한 모든 것을 허용합니다. utf-8 charset을 사용하여 이름에 모든 전역 문자가 포함 된 파일 이름을 가질 수 있습니다 (일본어 또는 러시아어 이름이있는 파일이 대부분 - 해당 국가의 음악).