카테고리 보관물: Unix

Unix

파일 시스템에 파일 이름이 어디에 저장되어 있습니까? 파일 이름이 어디에

파일 시스템에 파일 이름이 어디에 저장되어 있습니까?

두 파일 이름이 동일한 inode를 가리킬 수있는 하드 링크가 있기 때문에 inode 또는 실제 파일 내용이 아닙니다.



답변

적절한 사본을 찾지 못해 귀하의 질문에 대한 답변입니다.

파일 이름 및 디렉토리

발췌

파일 이름 및 디렉토리 의미 :

  • inode는 파일 이름을 포함하지 않으며 다른 파일 메타 데이터 만 포함합니다.
  • Unix 디렉토리는 하나의 파일 이름과 하나의 inode 번호를 포함하는 연관 구조의 목록입니다.
  • 파일 시스템 드라이버는 특정 파일 이름을 찾는 디렉토리를 검색 한 다음 파일 이름을 해당하는 inode 번호로 변환해야합니다.

출처 : Inode의 Wikipedia 페이지

따라서 파일 이름은 디렉토리의 정보 구조 내에 저장됩니다. 예를 들면 다음과 같습니다.

                         

디렉토리의 구조

발췌

EXT2 파일 시스템에서 디렉토리는 파일 시스템의 파일에 대한 액세스 경로를 작성하고 보유하는 데 사용되는 특수 파일입니다. 그림 9.3은 메모리에서 디렉토리 엔트리의 레이아웃을 보여줍니다.

디렉토리 파일은 디렉토리 항목 목록이며 각 항목에는 다음 정보가 포함됩니다.

  • inode- 이 디렉토리 엔트리의 inode 이것은 블록 그룹의 Inode 테이블에 보관 된 inode 배열에 대한 인덱스입니다. 그림 9.3에서 file이라는 파일의 디렉토리 항목에는 inode 번호 i1에 대한 참조가 있습니다.
  • name length- 이 디렉토리 항목의 길이 (바이트)
  • name- 이 디렉토리 엔트리의 이름

모든 디렉토리의 처음 두 항목은 항상 “이 디렉토리”및 “상위 디렉토리”를 각각 의미 하는 표준 ...항목입니다.

위 의 그림 9.3 참조 는 다음과 같습니다 .

                 

출처 : 리눅스 문서 프로젝트 : 파일 시스템

참고 문헌


답변

파일 이름은 해당 디렉토리 ( “디렉토리 파일”)에 저장됩니다. 이 항목은 inode를 가리 킵니다.


답변

파일 이름은 “(string) filename”및 해당 “(int) inode”가있는 “directory”데이터 구조에 저장됩니다. 디렉토리는 filename-> inode 매핑을 담당합니다. 그리고 ode에서 디스크의 inode-> 섹터를 매핑합니다.


답변