링크와 아이노드

Illustrations: No 상위 항목: https://www.notion.so/f932e6d647534bbda38bb658ff60989b

링크와 아이노드

링크

파일 링크란

정의

다른 파일이나 디렉토리에 대한 참조로 원래 파일이나 디렉토리의 이름과 다른 이름으로 참조할 수 있도록 해주는 파일 시스템

용도

경로 단축 및 데이터를 안전하게 보관

아이노드란

리눅스/유닉스 파일 시스템에서 사용하는 자료구조

  • 파일이나 디렉토리를 생성하면 I-node라는 번호가 임의로 부여되고 이 번호를 기준으로 관리
  • 해당 파일의 소유권, 허가권, 파일 종류 등의 정보와 해당 파일의 실제 데이터의 주소도 포함함

링크의 종류

소프트(심볼릭) 링크

원본 파일이나 디렉토리의 주소를 가리키는 파일

  • 원본 파일과 다른 아이노드를 가짐
  • 원본 파일이 삭제되면 소프트링크는 존재 의미가 사라짐

    → 원본 파일 삭제시 No such file or directory 라는 문구 출력

  • 전혀 다른 파일이라도 원본 파일과 이름이 같다면 계속 사용 가능

    → 삭제한 원본파일과 같은 이름의 파일을 같은 디렉토리에 재생성 시 링크가 다시 연결됨

  • 주로 경로가 복잡한 디렉토리/파일을 심볼릭 링크를 통해 편하게 사용
  • 허가권 맨 앞에 붙는 파일 유형에 l 이라고 붙음
  • 명령어: ln -s [원본파일] [링크파일]

하드링크

같은 디스크에 위치한 같은 데이터를 가리킴 - 원본파일과 동일

동일한 파일을 디스크의 다른 곳에 배치하여 여러 이름으로 사용되는 식

  • 원본 파일과 같은 아이노드를 가짐
  • 하드 링크의 파일을 수정(삭제)하면 원본 파일에 또한 반영
  • ls -rlt 명령어를 입력했을 때 링크의 수는 늘어나지만, 차지하는 용량은 파일 하나의 용량 cp 명령어와 같은 역할을 하는 것 같지만, cp명령어로 파일을 복사하면 하나의 파일이 생성되기 때문에 용량이 늘어난다
  • 허가권 맨 앞에 붙는 파일 유형아 원본 파일과 동일
  • 명령어: ln [원본파일] [링크파일]

Untitled

서브목차