[Linux] 아이노드

NAM·2022년 5월 13일
0

Linux

목록 보기
2/6

아이노드(inode)

아이노드를 알아야하는 이유?

하드링크와 소프트링크의 개념을 알기위해서.

아이노드는 여러가지 정보를 포함하고 있는 정보 덩어리가 보면 된다.
하나의 파일을 구성하는 구성요소, 파일 하나가 파일 시스템상 복잡한 가운데 파일마다 유지되어야할 데이터들이 있다.
그중에 하나가 아이노드이다.
파일의 실제 데이타.

->해당 파일에대한 메타데이타들이 저장되어 있는게 아이노드.

*메타데이타(파일을 나타내는 정보들)

-파일구조

하드링크(hard-link) vs 소프트링크(soft-link == symbolic link == symlink)

파일 이름은 아이노드에 포함되지 않는다.

파일 기본적으로 name - inode - 실제 data가 연결되면 하나의 파일이라고 볼 수 있다.

소프트링크

윈도우에는 바로가기가 있다. hello(깊숙한 곳 어딘가) -> hollo의 바로가기(바탕화면)
소프트링크는 윈도우의 바로가기 개념과 굉장히 유사하다고 생각하면 된다.
리눅스의 바로가기 버전

리눅스에서, 대상이 되는 파일이 있으면 소프트링크 파일을 만들 수 있다.
이 파일 만들 때에는 항상 대상이 누구인지 지정을 해야한다.

아이노드 관점에서 원본 파일 name - inode - 실제 data 구성
소프트링크 파일 name+symbolic link - inode - 링크 data ----->(대상이 되는 원본 파일의 경로가 저장이 된다)
이를 symbolic link,symlink,softlink 라고 하기도 한다.

하드링크

대상이 되는 아이노드를 하이링크 파일이 공유를 한다.
하드링크의 특이점은 하드링크의 파일네임이 대상이 되는 파일(원본 파일)의 아이노드를 공유를 한다.
고로 아이노드와 연결이된 파일 데이터와 직접 연결이 되어있는 것이다.
파일 이름만 다르지 파일 컨텐츠는 같다고 봐야한다.
여러개의 하드링크가 있을 수 있다.

소프트링크는 굉장히 많지만 하드링크는 많지 않다. 하지만 개발자들은 둘다 알아야한다.
기본개념

profile
힘내자

0개의 댓글