Posix에서 빈 문자열을 파일 이름으로 사용하는 것을 허용하지 않습니까?

Posix에서 빈 문자열을 파일 이름으로 사용하는 것을 허용하지 않습니까?

내 경험에 따르면 빈 문자열 파일 이름으로 작업을 시도하면 파일을 찾을 수 없습니다( ENOENTinclude ls -ld ''또는 ext4). 하지만 ext4 touch ''mkdir ''시도할 수 있습니다.

제가 보기에는 이것이 논리적인 것처럼 보이지만 Posix에 이를 금지하는 것이 있습니까?

답변1

이것Unix 사양의 3.170 포인트파일 이름을 비워둘 수 없도록 지정합니다.

파일 이름을 지정하는 데 사용되는 1부터 {NAME_MAX}까지의 바이트 시퀀스입니다. 이름을 구성하는 바이트에는 <NUL> 또는 <slash> 문자가 포함될 수 없습니다.

따라서 빈 파일 이름에 대해 작업을 시도하면 오류가 발생합니다. 문자열을 조작하기 전에 문자열이 비어 있는지 테스트하는 것이 좋습니다.

관련 정보