카탈로그 항목이란 무엇입니까?

카탈로그 항목이란 무엇입니까?

일부 C 프로젝트에서는 dirent.h를 사용해야 합니다. 온라인에서 찾은 다양한 설명을 바탕으로 나는 막연한 아이디어를 떠올렸습니다.디렉토리 항목파일에 대한 모든 것을 알려주는 데이터 구조입니다. 디렉토리 항목이란 정확히 무엇입니까?

답변1

파일에 관한 모든 것이 아니라 파일에 관한 대부분의 메타데이터가 디렉토리 항목이 아닌 파일 inode에 저장됩니다. 디렉토리 항목은 단지 inode와 파일 이름의 구조입니다. 즉, 파일 이름을 inode로 변환하고 실제 파일을 가져오는 데 충분한 정보입니다.

디렉토리를 사전으로 생각하면 안전합니다.

filename1 :> inode1
filename2 :> inode2
....

그런 다음 inode 번호(기본적으로 inode의 고유 주소 - 일종의 포인터)를 추적하고 모든 권한, 소유권 데이터, 날짜, 확장 속성 및 물론 파일의 내용(파일인 경우)을 찾습니다. ) . 물론, 디렉토리 항목은 다른 디렉토리, 기호 링크, 장치 노드 또는 유사한 것일 수도 있습니다. 그것을 알아내려면 거기로 가야 합니다.

답변2

디렉토리 항목은 기본적으로 파일 이름을 해당 인덱스 노드에 매핑한 것입니다. 사용자는 일반적으로 파일 이름으로 파일에 액세스하지만 이러한 파일 이름은 커널에서 이해되지 않습니다.

커널은 파일의 고유한 inode를 사용하여 파일을 식별합니다.
이 inode에는 기본적으로 파일 이름과 파일의 실제 데이터를 제외한 파일에 대한 모든 데이터가 포함됩니다. inode에 대한 파일 이름 매핑은 디렉토리 항목이라는 데이터 구조에서 유지됩니다.

동일하거나 다른 디렉토리에 있는 많은 항목이 동일한 파일(동일한 inode)을 식별할 수 있다는 점을 명심하십시오. 따라서 이름이 있으면 해당 inode를 쉽게 얻을 수 있습니다. inode가 있으면 이름을 찾는 것이 훨씬 어렵습니다( find유틸리티는 이를 위한 도구입니다).

답변3

Unix 환경의 고급 프로그래밍(아푸에) 제1.4조:

디렉토리란 무엇입니까?

목차디렉토리 항목을 포함하는 파일입니다.

카탈로그 항목이란 무엇입니까?

논리적으로 우리는 모든 것을 생각할 수 있습니다. 디렉토리 항목파일 이름과 파일 속성을 설명하는 정보 구조를 포함합니다. 파일 속성에는 파일 유형(일반 파일, 디렉터리), 파일 크기, 파일 소유자, 파일 권한(다른 사용자가 파일에 액세스할 수 있는지 여부) 및 파일에 액세스한 시간이 포함됩니다. 마지막 검토. stat함수는 fstat파일의 모든 속성을 포함하는 정보 구조를 반환합니다.

관련 자료는 §4.14를 참조하세요.아푸에.

강력한 텍스트

관련 정보