Study: ComputerScience(CS)/CS: Linux

[Linux] ln 명령어(feat. 리눅스 파일 링킹): 하드링크(Hard Link) VS 심볼릭링크(Symbolic Link)

DrawingProcess 2022. 8. 9. 10:21
반응형

리눅스 파일 링킹: 하드링크(Hard Link) VS 심볼릭링크(Symbolic Link)

하드 링크(Hard Link) 와 심볼릭 링크(Symbolic Link) 는 운영체제 파일시스템을 이해하는데 기초적인 개념입니다.

아마 윈도우를 많이 사용한다면, 원본 - 바로 가기 개념이 떠오를 수 있지만 다소 차이가 있으며, 리눅스 환경에서는 개발 환경 구성 시, 심볼릭 링크를 사용해서 파일 경로를 간편하게 관리하기도 합니다.

  • 루트 디렉토리 내에 심볼릭 링크를 구성해서 마운트한 파일 시스템을 연결시킨다던지

 

Link 조회

  • ln -l 명령어로 현재 폴더 내 링크를 조회할 수 있습니다.

 

Link 생성(ln)

Hard Link

  • 원본 파일과 동일한 inode 를 가지며 원본 파일이 삭제되더라도 링크 파일을 여전히 사용 가능합니다.
  • ln <Source> <Target> 명령어로 생성 가능합니다.
  • 위치 정보를 가지고 있는 이름을 여러 개 생성하는 개념이며, 한 파일을 지워도 하드에서 해당 위치를 찾아갈 수 있습니다.

Symbolic Link

  • 원본 파일의 이름을 가리키는 링크로 원본 파일이 삭제되면 사용 불가능합니다.
  • 전혀 다른 파일이라도 가리키는 원본 파일 이름이 같으면 계속 사용 가능합니다.
  • ln -s <Source> <Target> 명령어로 생성 가능하며, Source 를 가리키는 심볼릭 링크 Target 을 만듭니다.
    • Source 파일을 수정하면 심볼릭 링크인 Target 파일도 수정되며,
    • Target 파일을 수정해도 Source 파일이 같이 수정됩니다.
  • 위치 정보를 갖고 있는 파일명을 또 다른 이름으로 가리키는 포인터의 개념입니다
    • 하드링크는 한 위치 정보를 또 다른 이름으로 가리키는 개념입니다.

 

Link 삭제

  • rm <Target> 명령어로 Target을 삭제 가능하며, Source 에는 영향을 미치지 않습니다.
  • 즉, 위와 같은 명령어를 실행하면 앞서 만들었던 하드링크와 심볼릭링크가 모두 삭제됩니다.

 

참고



반응형