본문 바로가기

Programming Practice/Server Management

symbolic link

Windows 의 '바로가기' 디렉토리와 유사하며, 실제 디렉토리처럼 동작

1) 사용 예시

여러 서버에 각각의 서비스가 구동되고 있는데, 서비스들 간에 파일을 공유할 필요가 생겨서 추후에 서버간 파일을 공유할 수 있는 공유 디렉토리를 만들었다고 하자.

서비스의 파일 경로는 local 디렉토리 구조에 맞춰져 있어서 공유 디렉토리 경로로 변경하는 것이 어렵다. 이럴 경우 기존 local 디렉토리에서 공유 디렉토리로 symbolic link를 만든다.


2) 생성 방법

ln -s <바로가기 디렉토리가 연결할 폴더> <바로가기 디렉토리>

cf. s : soft link (hard link 에 반대되는 개념)

예를 들어서, home/contents/static/attach 디렉토리에서 home/share/contents/static/attach/temp 에 연결되는 temp 바로가기 디렉토리를 만든다고 하자.

ls 를 통해 조회되는 모습은 아래와 같다.

[home/contents/static/attach] temp -> home/share/contents/static/attach/temp

ㄱ. home/contents/static/attach 로 이동한다.

ㄴ. ln -s home/share/contents/static/attach/temp temp 명령어를 입력한다.

주의 사항은 바로가기 디렉토리명과 동일한 디렉토리가 실제 위치가 존재해서는 안된다. 즉, home/contents/static/attach 에 temp 바로가기 디렉토리를 만들려고 하는데, home/contents/static/attach/temp 디렉토리가 있어서는 안된다는 것이다. 그럴 경우, 예상치 못한 곳에 symbolic link가 만들어진다. 

기존에 디렉토리가 있다면, 해당 디렉토리를 공유 디렉토리로 mv 한후, symbolic link를 생성해야 한다.


'Programming Practice > Server Management' 카테고리의 다른 글

Shell 기타  (0) 2015.10.25