출처: https://blog.iroot.kr/341 [RootKR] unix파일구조, inode, 심볼릭링크(소프트링크), 하드링크

상세 컨텐츠

본문 제목

unix파일구조, inode, 심볼릭링크(소프트링크), 하드링크

UNIX&C언어

by QKRM 2020. 9. 24. 22:41

본문

기본적인 unix기반 운영체제 사용자들은 알게 모르게 inode를 접하고 있습니다.

기본적으로 inode란 256바이트짜리 숫자 배열로, 소유자 그룹, 접근 모드,파일 형태,

아이노드 숫자 등 해당 파일에관한 정보를 가지고 있는 자료구조입니다.

근데 잘 생각해보면 소유자 그룹, 접근모드, 파일형태 어디서 많이 보시지 않았나요?

 

ls -il

명령어로 파일들을 확인해보면 순서대로 inumber,접근모드,소유자 그룹, 파일크기, 날짜 , 이름

을 볼 수 있습니다. 우리가 ls -l 명령어로 확인하던 정보들은 사실 inode의 정보였던거죠.

inode가 어떤 녀석인지 조금더 봅시다.

기본적인 unix파일의 데이터 구조입니다.

우리가 파일을 실행시키면, 그 명령은 inode로 향합니다. inode는 해당하는 데이터 블럭의 포인터를 가지고 있고

데이터 블록을 불러오게 됩니다.

 

심볼릭링크(소프트링크)와 하드링크의 가장큰 차이는 단순합니다.
파일을 향하는가, inode를 향하는가 입니다.

조금 자세히 보겠습니다.

 

소프트링크의 경우 링크파일은 원본 파일을 향합니다.

 

이 경우 원본파일이 없어진다면, 원본파일에 접근할 방법이 없어질 것 입니다.

하지만 원본파일과 같은 이름을 가진 파일이 온다면, 링크파일을 통해

새로운 데이터에 바로 접근할 수 있다는 장점이 있습니다. 이는 밑에 예시에서 다시한번 설명하겠습니다.

 

하드링크의 경우 원본파일의 아이노드를 향합니다

이경우는 원본 파일이 사라져도 여전히 링크파일을 통해 원본파일의 데이터 블록에 접근할 수 있습니다.

이 경우 계층이 적어지므로 실행속도가 매우빨라질 수 있습니다.

다음 예시를 한 번 보시고 이해해보시면 좋을 것 같습니다.

관련글 더보기

댓글 영역