링크

Seong Woong Kim·2023년 1월 5일
0

Linux / Ubuntu

목록 보기
4/14

💡 이 문서는 한빛미디어 - 이것이 우분투/리눅스다를 기반으로 공부하면서 체화를 위해 정리하는 글입니다. 💡



리눅스 파일의 크게 링크는 하드 링크 (Hard Link)심볼릭 링크 (Symbolic Link or Soft Link) 2가지가 있음.

Inode


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

  • 모든 파일이나 디렉터리는 각자 1개씩의 inode가 있음

    • inode 에는 해당 파일의 소유권, 허가권, 파일 종류 등의 정보와 해당 파일의 실제 데이터 위치(주소)도 있음.

    • 이러한 inode가 모여 있는 공간이 inode 블럭이며, 일반적으로 전체 디스크 공간의 1% 정도 차지

      • Data 블럭은 실제 데이터가 저장된 디스크 공간으로, 전체 디스크의 대부분을 차지
  • stat 명령어를 통해 자세한 내용 확인 가능




Symbolic link


  • Windows의 바로가기와 같은 개념 (원본 파일의 경로를 가리키는 링크)

    • 원본 파일을 다른 경로나 이름을 써서 열 수 있는 개념
  • 새로운 inode2를 만들고, 데이터는 원본 파일과 연결되는 효과를 가짐

    • 심볼릭 링크 파일과 원본의 inode는 다르게 유지됨
  • 링크 파일을 삭제해도 원본 파일은 삭제되지 않음

  • 원본 파일을 지우면 링크 파일은 원본 파일을 찾을 수 없음

    • 원본 파일에 의존적
  • 장점은 전혀 다른 파일이라도 원본 파일과 이름이 같다면 계속 사용할 수 있음

    • 주로 경로가 복잡한 디렉토리를 심볼릭 링크를 통해 편하게 사용할 수 있음



ln -s {원본 파일} {심볼릭 링크 파일}

  • 파일 유형 : l (link)

  • 원본 파일 origin과 다른 inode 고유 번호를 가짐

  • : 원본 파일을 지정한다는 의미



2. 링크 파일을 통해서 파일에 데이터를 기록하면 원본 파일도 같이 수정됨 & Vice Versa




Hard link


  • 원본 파일과 동일한 inode를 가짐

    • 원본 파일이 삭제되더라도 원본 파일의 inode 를 갖고 있는 링크 파일은 사용이 가능하고 그 정보를 가지고 있음
  • 파일을 수정하면 원본 파일과 링크 파일 모두 수정됨 → i-node가 같기 때문

    • Symbolic과의 차이

      • Symbolic은 원본 파일과 연결돼서 (원본 파일의 포인터) 데이터 추가 (원본 파일에 의존적)

      • Hard link는 원본 파일의 개념이 없어지고 같은 데이터를 가지는 파일의 이름이 두 개라고 볼 수 있음.

  • 같은 inode 를 가리키는 파일이기 때문에 이름만 다를 뿐 같은 파일

  • 디렉토리에 대해 링크를 만들 수 없음

  • 원본 파일을 이동시켜도 링크를 사용 가능

  • 하드링크와 심볼릭 링크와의 중요한 차이점은 같은 inode를 바라보느냐의 차이




📚 REFRENCE 📚

  1. 이것이 우분투/리눅스다 - 한빛미디어
  2. https://reakwon.tistory.com/142
  3. https://jaynamm.tistory.com/entry/%EB%A6%AC%EB%88%85%EC%8A%A4-%ED%95%98%EB%93%9C-%EB%A7%81%ED%81%AChard-link%EC%99%80-%EC%8B%AC%EB%B3%BC%EB%A6%AD-%EB%A7%81%ED%81%ACsymbolic-link
profile
성장과 연구하는 자세를 추구하는 AI 연구개발자

0개의 댓글