하드 링크 (Hard Link) 와 심볼릭 링크 (Symbolic Link) 는 운영체제 파일시스템을 이해하는데 기초적인 개념이다.
아마 윈도우를 많이 사용한다면, 원본 - 바로 가기 개념이 떠오를 수 있지만 다소 차이가 있다.
- Hard Link
- 원본 파일과 동일한 inode 를 가지며 원본 파일이 삭제되더라도 링크 파일을 여전히 사용 가능하다
- ln [Source] [Target] 명령어로 생성 가능
- 위치 정보를 가지고 있는 이름을 여러 개 생성하는 개념이다. 그렇기 때문에 한 파일을 지워도 하드에서 해당 위치를 찾아갈 수 있다
- Symbolic Link
- 원본 파일의 이름을 가리키는 링크로 원본 파일이 삭제되면 사용 불가능하다
- 전혀 다른 파일이라도 가리키는 원본 파일 이름이 같으면 계속 사용 가능하다
- ln -s [Source] [Target] 명령어로 생성 가능. Source 를 가리키는 심볼릭 링크 Target 을 만든다
- Source 파일을 수정하면 심볼릭 링크인 Target 파일도 수정된다
- Target 파일을 수정해도 Source 파일이 같이 수정된다
- 위치 정보를 갖고 있는 파일명을 또 다른 이름으로 가리키는 포인터의 개념이다
- 하드링크는 한 위치 정보를 또 다른 이름으로 가리키는 개념
특히 리눅스 환경에서는 개발 환경 구성 시, 심볼릭 링크를 사용해서 파일 경로를 간편하게 관리하기도 한다
(루트 디렉토리 내에 심볼릭 링크를 구성해서 마운트한 파일 시스템을 연결시킨다던지)
잘 알아두면 유용하게 사용할 수 있다. :)
'Computer Base > Linux & OS' 카테고리의 다른 글
Unix 기반의 File System Access Permission 에 대해 (0) | 2018.11.30 |
---|---|
PCB(Process Control Block) 개념 정리 (0) | 2018.10.18 |
가상 메모리(Virtual Memory)와 페이징(Paging)에 대한 정리 (3) | 2018.10.16 |
Linux 의 입출력 스케줄링(I/O Scheduling) (0) | 2018.10.14 |
Unix/Linux 파일시스템 구조 정리 (2) (0) | 2018.10.04 |