질문&답변
클라우드/리눅스에 관한 질문과 답변을 주고 받는 곳입니다.
리눅스 분류

inode 쓰기..

작성자 정보

  • 마징가z 작성
  • 작성일

컨텐츠 정보

본문

보통 rm -r test.txt 하면
디렉토리에 test.txt파일 지우고,i 넘어  지우고, inode-table(저장소 )에 
inode에 내용중 text에 관련속성만 을 싹~지우는것으로 아는데..... 보통 하드에 자료를 싹 다지워도    inode-table만 살리면 데이타 살아나는것을 것으로 아는데..


cat  > test.txt
어쩌구 저쩌구 하고

:wq  나오면

파일 생성 순서가 어떻게 되나요?
디렉토리에 화일명 .i node -number생성되고 -> inode-table(메타데이타영역)에
i노드 넘버 등록하고 inode생성되나요?

읽기는 간단히 디렉토리에 파일의  inode-넘버 읽고  테이블가서 그 inode에 번호에 내용 즉, 자료 읽고 데이타영역 내용 불러오는데 메모리로 ...

write할경우는 어떻게 작동  하는지 궁금해서 질문입니다!!!:"::


 






관련자료

댓글 1

도리님의 댓글

  • 도리
  • 작성일
파일시스템에 따라 다르겠죠?
EXT3의 경우는 ....
 
일반적으로 파일시스템은 디스크 파티션에 위치합니다. 파티션은 일반적으로 512바이트의 섹터들로 구성됩니다.
  파티션이 Ext3 파일 시스템으로 포멧될때, 연속적인 섹터들은 블록으로 묶여지며, 이 블록사이즈는 1,024에서 4,096의 범위를 갖습니다. 이 블록들은 다시 블록 그룹으로 묶이며 이  블록 그룹은 수십 수천개의 블록들으로 이뤄집니다. 각 파일은 3개(블록들, 아이노드들, 디렉토리 엔터리)의 주 위치 데이터가 저장되어 있습니다. 파일의 내용은 블록들에 저장되고, 이들은 배타적인 공간에 할당됩니다.
  하나의 파일은 필요한만큼의 많은 블록들에 할당되며, 전형적으로 파일은 연속적인 블록들에 할당됩니다. 하지만, 항상 그런것은 아닙니다.

파일에 관한 데이터는 아이노드구조(structure)에 저장됩니다. 이는 블록그룹의 시작부분인 아이노드 테이블에 위치합니다.  각 블록그룹에 포함될 수 있는 아이노드 수는 한정되어 있습니다. 파일에 관한 데이터는 마지막 수정시간, 마지막접근시간, 마지막 변경시간, 삭제시간 등의 시간데이터를 가지고 있습니다.  파일에 관한 데이터는 파일사이즈, 사용자 아이디, 그룹 아이디, 퍼미션들 그리고 파일내용이 저장된 블록주소가 저장되어 있습니다. 주소의 처음 12블록들은 아이노드와 간접블록이라고 불리는 외부 블록들의 추가 주소를 저장하고 있습니다. 만약 파일이 많은 블록들을 요구하고, 모든 주소가 하나의 간접 블록에 많을수 없다면, 더블 간접블록이 사용된다. 이 주소는 아이노드에 의 해 주어집니다. 이 더블간접블록의 내용에 대한주소 의 단일 간접블록은, 블록의 주소와 파일 내용을 포함합니다. 또한 하나이상의 포인터들의 층을 가진 아이노드는 세배 간접주소 입니다. 마지막으로 파일의 이름은 부모디렉토리의 블록에 위치하는 디렉토리 엔터리에 저장됩니다. EXT3디렉토리는 파일과 비슷하고 블록들은 디렉토리 리스트 구조를 포함합니다. 파일이름, 파일의 정보가 저장된 블록의 주소등의 메터데이터는 저장됩니다.
 'ls -i' 명령어를 이용하여 각 파일 이름에 대응하는 아이노드 주소를 알 수 있습니다.
 디렉토리 엔터리, 아이노드, 블록들의 관계를 아래그 그림에서 확인 할 수 있습니다.

번역한 것이니 원문을 참조하면 도움될듯 합니다.
: http://linux.sys-con.com/node/117909

공지사항


뉴스광장


  • 현재 회원수 :  60,279 명
  • 현재 강좌수 :  36,956 개
  • 현재 접속자 :  356 명