출처: https://blog.iroot.kr/341 [RootKR]
기본적인 unix기반 운영체제 사용자들은 알게 모르게 inode를 접하고 있습니다.
기본적으로 inode란 256바이트짜리 숫자 배열로, 소유자 그룹, 접근 모드,파일 형태,
아이노드 숫자 등 해당 파일에관한 정보를 가지고 있는 자료구조입니다.
근데 잘 생각해보면 소유자 그룹, 접근모드, 파일형태 어디서 많이 보시지 않았나요?
ls -il
명령어로 파일들을 확인해보면 순서대로 inumber,접근모드,소유자 그룹, 파일크기, 날짜 , 이름
을 볼 수 있습니다. 우리가 ls -l 명령어로 확인하던 정보들은 사실 inode의 정보였던거죠.
inode가 어떤 녀석인지 조금더 봅시다.
기본적인 unix파일의 데이터 구조입니다.
우리가 파일을 실행시키면, 그 명령은 inode로 향합니다. inode는 해당하는 데이터 블럭의 포인터를 가지고 있고
데이터 블록을 불러오게 됩니다.
조금 자세히 보겠습니다.
이 경우 원본파일이 없어진다면, 원본파일에 접근할 방법이 없어질 것 입니다.
하지만 원본파일과 같은 이름을 가진 파일이 온다면, 링크파일을 통해
새로운 데이터에 바로 접근할 수 있다는 장점이 있습니다. 이는 밑에 예시에서 다시한번 설명하겠습니다.
이경우는 원본 파일이 사라져도 여전히 링크파일을 통해 원본파일의 데이터 블록에 접근할 수 있습니다.
이 경우 계층이 적어지므로 실행속도가 매우빨라질 수 있습니다.
다음 예시를 한 번 보시고 이해해보시면 좋을 것 같습니다.
[c] cp '간단하게' 구현해보기 (0) | 2021.03.30 |
---|---|
[C] 문자열 배열 초기화 (0) | 2020.03.01 |
[C] 연산자와 결합법칙,우선순위 (0) | 2020.03.01 |
[C]구조체 안에서 정의되지 않은 구조체를 쓰려면? (1) | 2020.02.29 |
[C] 구조체는 어떻게 저장될까? (구조체에서의 패딩) (0) | 2020.02.28 |
댓글 영역