'ln'에 해당되는 글 1건

  1. 심볼릭 링크 2010/01/02

심볼릭 링크

Posted at 2010/01/02 18:20// Posted in os
특정 파일을 다른 이름과 연결하는 방법입니다.
c++ 언어의 레퍼런스와 비슷합니다.


int src = 10;
int& ref = src;


심볼릭 링크가 레퍼런스라면
바로가기(윈도우의 .lnk) 는 포인터라고 볼 수 있습니다.

차이점은 디레퍼런싱 작업의 유무라고 할 수 있습니다.

레퍼런스는 별도의 디레퍼런싱 작업이 필요없지만
포인터는 * 연산을 해줘야하죠~

이와 비슷하게 심볼릭 링크는 바로 open 이나 listdir 이 가능하지만
바로가기는 파싱이 필요합니다.

유닉스에서는 ln 명령으로 사용할 수 있습니다.
ln -s <원본> <심볼릭_링크>

윈도우에서도 NTFS 부터 심볼릭 링크를 지원했지만
커맨드 라인 명령은 vista 부터 사용할 수 있습니다.
http://en.wikipedia.org/wiki/NTFS_symbolic_link

XP 에서는 CreateSymbolicLink API 를 사용해 직접 만들어서 사용해야 한답니다만...
http://msdn.microsoft.com/en-us/library/aa363866(VS.85).aspx

자세히 읽어보니 사양이 Windows Vista 네요-_-

좀더 찾아보니 XP 나 2000에서는 아래 것을 사용 하면 되는군요 -_-)/
http://technet.microsoft.com/ko-kr/sysinternals/bb896768%28en-us%29.aspx

rem 만들기
junction -s 링크경로 원본경로

rem 지우기
junction -d 링크경로

게임에서는
한 게임 머신내에 여러개의 게임 프로세스를 띄워야 할때
게임 실행파일에 대한 복잡한 상대 경로를 사용하는 대신
간단히 심볼릭 링크를 사용하게 됩니다.

share/
share/game

world1/
world1/game1 - ../share/game

world2/
world2/game2 - ../share/game

world3/
world3/game3 - ../share/game


절대 경로로 사용하는 프로그램을 사용에 따라 바꾸고 싶을때도 종종 사용하게되죠~
이올린에 북마크하기(0) 이올린에 추천하기(0)
2010/01/02 18:20 2010/01/02 18:20