아이노드 (i-node)
i-node는 Index node의 줄임말로, 유닉스 기반 시스템 내에서 파일을 빠르게 찾기 위해 사용되는 데이터 구조이다. 위 그림에서 disk block는 각 정보를 의미하는데, i-node의 정보 구성으로는 파일 형식, 파일 권한, 링크 수, 파일 소유주, 파일 그룹, 파일 크기, 파일 생성 시간이 있다. 이 정보들을 이용하여 i-node는 파일 및 디렉토리의 관리와 접근을 가능하게 한다. 리눅스에서 다루는 모든 파일은 고유한 i-node를 가지고 있으며 ls -i 명령어를 통해 확인할 수 있다.
> i-node 테이블
i-node 테이블은 파일이나 디렉터리에 대한 정보를 저장한 곳으로, 전체 파일들의 모든 i-node를 가지고 있다. 따라서 시스템에 저장될 수 있는 파일 및 디렉터리 수는 이 테이블의 크기에 따라 한정된다. i-node 테이블은 i-node 정보들를 이용하여 파일이나 디렉터리의 실제 데이터가 저장된 위치를 가리키는 포인터 역할을 할 수 있고, 파일과 디렉터리의 관리와 접근을 용이하게 한다.
하드링크 (Hard Link) / 심볼릭 링크(Symbolic Link)
- 하드 링크 : 기존 파일에 대한 새로운 경로
하드링크와 원본은 별도의 파일이 아닌 하나의 파일에 대한 링크로, 하드링크의 파일을 바꾸면 원본도 바뀐다. 둘 중 하나를 삭제했을 경우 나머지 파일이 사진과 같이 동일한 i-node를 가지고 있기에 원래 기능을 그대로 사용할 수 있다. 하드링크는 기존 파일을 대표하는 i-node를 가리켜 구현하므로 한 파일 시스템 내에서만 사용 가능하다는 단점이 있다. - 심볼릭 링크 : 실체는 없지만 원본의 경로명을 저장하고 있는 파일
하드링크의 문제점을 개선하기 위한 심볼릭(소프트) 링크는ln -s [원본 파일] [링크파일 이름]을 통해 생성할 수 있다. 심볼릭링크는 윈도우의 바로가기와 비슷한 기능으로, 원본을 삭제했을 경우 소프트 링크는 기능을 잃는다. 따라서 심볼릭 링크의 주의점으로는 원본 파일이나 디렉터리를 실수로 삭제할 경우 복구가 불가능하다는 점이다.
'Electronic Engeneering > Operating System (OS)' 카테고리의 다른 글
[OS / Linux] GUI와 CLI (0) | 2024.08.30 |
---|---|
[OS / Linux] 리눅스 기본 명령어 (0) | 2024.08.25 |
[OS / Linux] 리눅스 top 명령어 이해하기 (0) | 2024.08.24 |