반응형
리눅스 파일 링킹: 하드링크(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 에는 영향을 미치지 않습니다.
- 즉, 위와 같은 명령어를 실행하면 앞서 만들었던 하드링크와 심볼릭링크가 모두 삭제됩니다.
참고
- Hard Link & Symbolic Link 개념 정리: https://jins-dev.tistory.com/entry/Hard-Link-Symbolic-Link-%EA%B0%9C%EB%85%90-%EC%A0%95%EB%A6%AC
- 해커라면 알아야 할 리눅스 기초: https://mrrootable.tistory.com/37
반응형
'Study: ComputerScience(CS) > CS: Linux' 카테고리의 다른 글
[Linux] Executable and Linkable Format(ELF): 실행 및 링킹 파일 포맷 (feat. readelf) (0) | 2022.08.23 |
---|---|
[Linux] 일정 시간마다 작업 실행시키기(crontab) (0) | 2022.08.12 |
[Linux] Graceful Shutdown이란? (feat. SIGINT/SIGTERM/SIGKILL + signal handler) (0) | 2022.08.05 |
[Linux] 프로세스 종류 및 특징 (feat. Demon과 Background Process의 차이) (0) | 2022.07.31 |
[Linux] 리눅스 로컬네임서버(/etc/hosts) 설정: DNS 서버 만들기 (0) | 2022.07.28 |