Search

Symbolic link

윈도우의 바로가기처럼 링크를 연결해 원본 파일을 직접 사용하는 것과 같은 효과를 내는 link이다.
NAS 나 library 원본 파일을 사용하기 위해 특정 폴더에 링크를 거는 것
예를 들어 test.txt파일을 가지고 있는 original 이라는 폴더가 있다고 하자
copy라는 곳으로 링크를 걸어보겠다.
""" ~ ⎿ original ⎿ test.txt """ $ ln -s original copy
Python
복사
이를 수행하고
ll 명령어로 확인해보면 ( ls -l , 권한, 소유자, 갱신일 확인)
copy라는 link가 생성된 것이 보인다. link → link대상인원본파일
ls로 확인해보면 copy라는 폴더가 생긴 것 처럼 보인다
안에 test.txt도 있다
이렇게 symbolic link를 등록하면 삭제/수정/등록 모두 공유된다.
original 의 test.txt를 삭제하니 copy에도 없다
그럼 copy를 삭제하면?
original은 그대로 있고 copy라는 symbolic link가 사라졌다. 폴더처럼 보이지만 폴더가 아닌 symbolic link라는 것을 주의해야 할 것 같다.

why symbolic link?

다양한 경우에 쓰이지만, 보통 자동 제어 및 일관성을 위해 사용된다
예를 들어 python이 3개의 version이 설치되어 있다고 하자
python ⎜ ⎯⎯ python 3.6 ⎜ ⎯⎯ python 3.8 ⎜ ⎯⎯ python 2.6 ⎜ ⎯⎯ python -> python 3.6
Python
복사
마지막 이 python3.6에 연결된 python이라는 symbolic link이다.
근데 나는 3.8 버전을 쓰고싶다. 그렇다면 python이 3.8을 가리키게 만들면 된다. 이렇게 하면 software 설치 관리자가 이 software에 대한 모든 reference를 추적할 필요가 없어진다.
모들 configuration file을 돌아다니면서 3.6버전을 3.8로 대체하는 것은 정말 자원과 시간의 낭비이다.
혹은 데이터 폴더에 대해 데이터를 복제하지 않고도 여러개의 access point를 만드는 역할도 한다.