링크와 아이노드
Illustrations: No 상위 항목: https://www.notion.so/f932e6d647534bbda38bb658ff60989b
링크와 아이노드
링크
파일 링크란
정의
다른 파일이나 디렉토리에 대한 참조로 원래 파일이나 디렉토리의 이름과 다른 이름으로 참조할 수 있도록 해주는 파일 시스템
용도
경로 단축 및 데이터를 안전하게 보관
아이노드란
리눅스/유닉스 파일 시스템에서 사용하는 자료구조
- 파일이나 디렉토리를 생성하면 I-node라는 번호가 임의로 부여되고 이 번호를 기준으로 관리
- 해당 파일의 소유권, 허가권, 파일 종류 등의 정보와 해당 파일의 실제 데이터의 주소도 포함함
링크의 종류
소프트(심볼릭) 링크
원본 파일이나 디렉토리의 주소를 가리키는 파일
- 원본 파일과 다른 아이노드를 가짐
-
원본 파일이 삭제되면 소프트링크는 존재 의미가 사라짐
→ 원본 파일 삭제시
No such file or directory
라는 문구 출력 -
전혀 다른 파일이라도 원본 파일과 이름이 같다면 계속 사용 가능
→ 삭제한 원본파일과 같은 이름의 파일을 같은 디렉토리에 재생성 시 링크가 다시 연결됨
- 주로 경로가 복잡한 디렉토리/파일을 심볼릭 링크를 통해 편하게 사용
- 허가권 맨 앞에 붙는 파일 유형에
l
이라고 붙음 - 명령어:
ln -s [원본파일] [링크파일]
하드링크
같은 디스크에 위치한 같은 데이터를 가리킴 - 원본파일과 동일
동일한 파일을 디스크의 다른 곳에 배치하여 여러 이름으로 사용되는 식
- 원본 파일과 같은 아이노드를 가짐
- 하드 링크의 파일을 수정(삭제)하면 원본 파일에 또한 반영
ls -rlt
명령어를 입력했을 때 링크의 수는 늘어나지만, 차지하는 용량은 파일 하나의 용량 cp 명령어와 같은 역할을 하는 것 같지만, cp명령어로 파일을 복사하면 하나의 파일이 생성되기 때문에 용량이 늘어난다- 허가권 맨 앞에 붙는 파일 유형아 원본 파일과 동일
- 명령어:
ln [원본파일] [링크파일]
서브목차