2022. 11. 23. 15:08ㆍ리눅스(Linux)
Inode
$ What is Inode?
- 사용자 프로세스는 커널을 통하여 디스크의 파일을 접근한다
- 이를 위해 커널 내에는 현재 사용 중인 파일에 대한 자료 구조를 유지한다
- 커널 내에서 파일 시스템과 관련하여 중요한 자료 구조 중 하나는 Inode 이다
- Inode는 해당 파일에 대한 대부분의 정보를 가진다
$ Inode의 내용
- 파일의 소유권 및 이용핛 수 있는 여부에 대한 정보
- 파일 내용이 들어있는 디스크 내의 물리적 주소
- 파일의 링크 수
- 파일의 형태
- 파일의 크기
- 파일의 만들어진 시간, 최근 사용시간, 최근 수정시간
- Inode 의 최근 수정시간
$ Inode & File
파일의 생성
- 새로운 파일이 만들어 지면 그에 해당하는 inode가 i-list 안에 만들어지며, 그 inode의 inumber 와 파일이름이 디렉터리에 등록된다
파일의 삭제
- 파일을 삭제하면 그 파일에 대한 inode 의 파일 링크수가 하나 감소되고 디렉터리 entry 에서는 해당 파일의 inumber 가 zero 로 변한다.
- Inode의 파일링크수가 zero 가 되면 파일의 디스크 블록은 free 가 되며 inode 는 dellocate 상태가 된다
$ 파일의 링크(Hard Link)
- Hard Link 형식으로 파일을 링크시킬 경우는 디렉터리에 그 파일에 대한 새로운 이름이 등록되고, inumber는 본래 있던 파일의 inumber가 복사(동일한 Inode 사용) 된다.
- 이때 복사되는 파일의 inode 에서 파일의 링크수가 하나 증가된다
# ls -il
합계 0
384387 -rw-r--r-- 2 root root 0 4월 6 14:39 hardlink
384387 -rw-r--r-- 2 root root 0 4월 6 14:39 inode_test
$ 파일의 링크(Symbol Link)
- Symbol Link 형식으로 파일을 링크시킬 경우는 디렉터리에 그 파일에 대한 새로운 이름이 등록되고, 새로운 inode 를 생성하며 해당 inode는 원본 파일을 연결한다
# ls -il
합계 0
384387 -rw-r--r-- 2 root root 0 4월 6 14:39 hardlink
384387 -rw-r--r-- 2 root root 0 4월 6 14:39 inode_test
384388 lrwxrwxrwx 1 root root 10 4월 6 14:40 symbollink -
> inode_test
# ln -s <link 대상파일명> <link 파일명>
- 명령어 형식(Symbol)
# ln <link 대상파일명> <link 파일명>
- 명령어 형식(Hard)
'리눅스(Linux)' 카테고리의 다른 글
[Centos 7] LVM (Logical Volume manager) (1) | 2022.11.23 |
---|---|
[Centos 7] Swap Partition (스왑 파티션) (0) | 2022.11.23 |
[Centos 7] Creating Filesystem & Mount, Auto mount (파일 시스템 생성 & 마운트, 오토마운트) (0) | 2022.11.23 |
Disk management - File System, Partition (파일 시스템, 파티션) (0) | 2022.11.21 |
[Centos 7] process management tools (프로세스 관리 도구) - htop, monit, Nmon (0) | 2022.11.21 |