notes
Server - soft link , hard link
서버에서 soft link·hard link의 차이와 생성·삭제 시 주의점 정리.
Linux Link 종류와 특징
Symbolic Link (Soft Link)
# 생성 방법
ln -s [원본 파일/디렉토리] [심볼릭 링크 경로]
#아카이브 프로젝트 (버전별 프로젝트 -> 동적 구조 프로젝트 생성시)
ln -sf $(ls -d [원본 파일/디렉토리]-* | sort -V | tail -n 1) [심볼릭 링크 경로]
특징
- 원본 파일을 가리키는 포인터/바로가기 개념
- 원본 파일이 삭제되면 링크가 깨짐 (dangling link)
- 다른 파일시스템에 있는 파일도 링크 가능
- 디렉토리도 링크 가능
- 파일 크기가 매우 작음 (경로 정보만 저장)
Hard Link
# 생성 방법
ln [원본 파일] [하드 링크 경로]
특징
- 원본 파일과 동일한 inode를 공유
- 원본 파일이 삭제되어도 링크는 계속 사용 가능
- 같은 파일시스템 내에서만 생성 가능
- 디렉토리는 링크 불가능
- 원본과 동일한 파일 크기
주요 차이점
inode
- Soft Link: 새로운 inode 생성
- Hard Link: 원본과 같은 inode 공유
파일 삭제
- Soft Link: 원본 삭제 시 링크 깨짐
- Hard Link: 모든 링크가 삭제되어야 실제 파일 삭제
사용 사례
Soft Link
- 버전 관리 (
current->v1.0.0) - 디렉토리 구조 단순화
- 다른 파일시스템 간의 링크
Hard Link
- 동일 파일의 여러 위치 배치
- 백업 시스템
- 파일 시스템 내 공간 절약
확인 명령어
# inode 번호 확인
ls -li
# 링크 생성 예시
ln -s /path/to/original.txt soft_link.txt # Soft Link
ln /path/to/original.txt hard_link.txt # Hard Link