11. Create and Manage Soft Links
개요
소프트 링크(심볼릭 링크)는 Windows의 바로가기처럼 작동합니다 — inode를 직접 참조하는 하드 링크와 달리, 다른 파일이나 디렉토리의 경로를 포함하는 텍스트 파일입니다.
소프트 링크 생성
ln 명령어에 -s 플래그를 사용합니다:
ln -s path_to_target_file path_to_link_file
- path_to_target_file: 링크가 참조할 파일/디렉토리의 위치
- path_to_link_file: 새 소프트 링크의 이름 및 선택적 위치
예시
$ ln -s /home/aaron/Pictures/family_dog.jpg family_dog_shortcut.jpg
$ ls -l
lrwxrwxrwx. 1 aaron aaron family_dog_shortcut.jpg -> /home/aaron/Pictures/family_dog.jpg
ls -l 출력에서 맨 앞의 "l"은 소프트 링크임을 나타냅니다.
링크 대상 확인
ls -l이 경로를 잘라낼 때 readlink로 전체 경로를 확인합니다:
$ readlink family_dog_shortcut.jpg
/home/aaron/Pictures/family_dog.jpg
중요한 고려 사항
권한: 소프트 링크 자체는 전체 권한을 가진 것처럼 보이지만, 실제로는 대상 파일의 권한이 접근을 제어합니다. 보호된 파일을 가리키는 링크에 쓰기 시도는 거부됩니다.
경로 전략: 절대 경로를 사용하면 디렉토리 이름이 변경될 경우 링크가 깨집니다. 유연성을 유지하려면 동일한 디렉토리 구조 내에서 상대 경로를 사용하세요.
소프트 링크의 기능
- 디렉토리에도 사용 가능
- 서로 다른 파일시스템 간에도 사용 가능
(하드 링크와의 주요 차이점)