CS/Linux

[Linux] 하드 링크와 심볼릭 링크

kyoulho 2024. 9. 20. 21:18

요약

  • 하드 링크는 원본 파일과 동일한 inode를 공유하여 동일한 데이터를 참조하며, 원본 파일이 삭제되어도 다른 하드 링크가 존재하면 데이터에 접근할 수 있다.
  • 심볼릭 링크는 원본 파일의 경로를 가리키는 별도의 파일로, 원본 파일이 삭제되면 링크가 더 이상 유효하지 않다.
  • 하드 링크는 동일한 파일 시스템 내에서만 생성 가능하지만, 심볼릭 링크는 다른 파일 시스템 간에도 생성할 수 있다.
  • 각 링크의 특성과 장단점을 이해하고 적절한 상황에 맞게 활용하는 것이 중요하다.

 

inode와 데이터 블록의 역할

파일 시스템에서 inode는 파일의 메타데이터(파일의 크기, 소유자, 권한 등)와 파일이 저장된 데이터 블록의 위치를 저장하는 역할을 한다. 원본 파일은 하나의 inode를 가지고 있으며, 이 inode는 실제 데이터가 저장된 데이터 블록을 가리킨다.

  • 원본 파일:
    • inode 블록과 데이터 블록에 저장됨.
    • ls 명령어로 확인 시 원본 파일만 표시됨.
  • 하드 링크 파일:
    • 원본 파일과 동일한 inode를 가리킴.
    • 원본 파일과 동일한 데이터 블록을 참조함.
  • 심볼릭 링크 파일:
    • 새로운 inode를 생성.
    • 새로운 inode는 원본 파일의 경로를 데이터로 저장.

 

하드 링크

하드 링크는 원본 파일과 동일한 inode를 공유하는 또 다른 파일이다. 즉, 하드 링크 파일과 원본 파일은 동일한 데이터 블록을 가리키며, 실제 데이터는 inode 블록데이터 블록에 저장된다. 하드 링크를 생성하면 새로운 파일이 생성되지만, 이 파일은 원본 파일과 같은 inode 번호를 가지게 된다.

  • 생성 방법: ln 원본파일명 하드링크파일명
  • 특징:
    • 원본 파일과 하드 링크 파일이 동일한 inode를 사용.
    • 원본 파일이 삭제되어도 하드 링크를 통해 파일에 접근 가능.
    • 동일한 파일 시스템 내에서만 생성 가능.

심볼릭 링크

심볼릭 링크는 원본 파일에 대한 경로를 저장하는 별도의 파일이다. 이는 Windows의 바로가기 아이콘과 유사한 개념으로, 원본 파일과는 다른 inode를 가진다. 심볼릭 링크는 원본 파일의 경로를 가리키기 때문에, 원본 파일이 삭제되면 링크는 더 이상 유효하지 않다.

  • 생성 방법: ln -s 원본파일명 심볼릭링크파일명
  • 특징:
    • 원본 파일과 다른 inode를 사용.
    • 원본 파일이 삭제되면 심볼릭 링크는 깨진 링크가 됨.
    • 다른 파일 시스템 간에도 생성 가능.
    • 디렉토리에 대한 링크도 생성 가능.

 

링크의 장단점

  장점 단점
하드 링크
  • 원본 파일과 동일한 데이터 블록을 공유하여 저장 공간 절약.
  • 원본 파일이 삭제되어도 다른 하드 링크가 존재하면 데이터 손실 방지.
  • 동일한 파일 시스템 내에서만 생성 가능.
  • 디렉토리에 대한 하드 링크 생성이 제한적.
심볼릭 링크
  • 다른 파일 시스템 간에도 링크 생성 가능.
  • 디렉토리에 대한 링크도 쉽게 생성 가능.
  • 원본 파일이 삭제되면 링크가 깨짐.
  • 추가적인 inode를 사용하여 약간의 저장 공간 필요.
  •  
728x90

'CS > Linux' 카테고리의 다른 글

[Linux] 파일의 압축과 묶기  (1) 2024.09.22
[Linux] 패키지 관리자  (1) 2024.09.22
[Linux] 사용자와 그룹  (1) 2024.09.18
[Linux] 마운트  (0) 2024.09.18
[Linux] vi 에디터  (1) 2024.09.18