Unix/Linux의 다른 파일과 마찬가지로 디렉토리에서 사용할 수 있습니까 read()
? write()
디렉토리도 파일로 간주되기 때문에 혼란스럽습니다.
답변1
일부 파일 시스템에서는 디렉터리에서 이를 허용 read()
하지만 해당 디렉터리의 데이터 구조가 문서화되어 있지 않을 수 있으므로 이는 오류로 간주되어야 합니다.
write()
영향을 받는 디렉터리의 무결성이 파괴되므로 절대 사용해서는 안 됩니다 .
디렉토리의 공식 인터페이스는 다음과 같습니다.opendir(), closedir() readdir(), telldir(), seekdir()
답변2
그렇지 않아요 전문적인 곳도 있어요
directory, opendir, closedir, dirfd, fdopendir, readdir, readdir_r,
rewinddir, seekdir, telldir(3) - directory operations
디렉터리 조작(OpenBSD의) 및 최신 파일 시스템(또는 실제로 10년, 2년 전의 모든 것)을 위한 기능은 디렉터리를 일반 파일로 인코딩하지 않습니다.
답변3
read()
나는 디렉토리 읽기의 사용법을 인용한 1986년의 책을 가지고 있습니다 . 그것의 이름은UNIX 운영 체제 설계10페이지에 이 사용법이 언급되어 있지만 이 코드는 최신 Ubuntu에서는 작동하지 않습니다.
Google과 GPT에 요청하는 것은 1988년에 전용 기능이 있었던 것으로 보이 readdir()
므로 지금은 변경되었습니다.