← 글 목록

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