마니의 공부방/개발 꼼수

[Windows] 윈도우 심볼릭 링크(Symbolic link)👏🏻

최근 프로젝트를 진행하면서 ASIS소스의 소스가 eclipse와 소스폴더가 압축파일로 전달되었다.

전달받은 이클립스를 실행해서 보는데, ASIS의 프로젝트 경로가 D드라이브로 설정되어있었다.

 

엑!! 나는 D드라이브가 없다고!!

이런경우 이클립스의 프로젝트를 삭제하고, 전달받은 소스를 import해도 된다.

 

하지만 ASIS 기타 셋팅까지 그대로 유지(혹은 확인차원에서)가 필요한 경우가 있다.

이럴때 기존 프로젝트를 그대로 유지하기 위해서 간단한 작업으로 확인하는 방법이 있다.

 

물론 예~전의 플러그인이지만 이클립스 프로젝트 경로 수정 플러그인을 통해서도 가능하긴하다.

 

나는 그냥 소스를 그대로 사용할것이 아니라 전달받은 환경을 확인하는 차원이라.. 아래 방법을 통해 링크만 걸어서 실제 해당 경로에 있지 않지만 있는것처럼 인식시켜 현행 환경을 확인했다.

 

바로가기와 심볼릭링크의 차이

윈도우에는 바로가기가 있다. 하지만 바로가기와 심볼릭 링크는 큰 차이가 있다.

GUI에서 바로가기와 심볼릭링크는 별 차이가 없어 보이지만, 심볼릭링크는 좀더 실제 파일(또는 폴더)처럼 다룰 수 있으며 CLI에서 확인할 수 있다.

- 바로 가기는 파일로 인식된다.

- 심볼릭 링크는 폴더로 보인다. → 실제 폴더처럼 동작한다.

예를들어 c:\test 라는 폴더를 d:드라이브에 생성하였을때를 예로 들어본다.
- 바로가기의 경우, CLI로 해당 경로를 읽으면 하위에 내부 파일 목록이 보이지 않는다.
- 심볼릭 링크의 경우, CLI로 해당 경로를 읽으면 하위애 내부 파일 목록이 보인다.(UNIX의 symbolic link와 동일하게 동작)

이렇게 동작하게 되어서, ASIS의 프로젝트 경로를 수정할수 없는 경우 전달받은 개발환경과 동일한 위치에 심볼릭 링크를 생성해주면 정상적으로 프로젝트가 열리고 동작하는것을 볼수있다.

 

이제 윈도우에서 프로젝트 경로를 만들어보자.

위의 캡처화면은 c:\sdhc 라는 폴더 -> d:\ 하위에 심볼릭 링크를 생성하는 예제이다.

자세한 가이드는 microSoft문서를 남깁니다.

구문

mklink [[/d] | [/h] | [/j]] <link> <target>

매개변수

  디렉터리 기호화 된 링크를 만듭니다. 기본적으로 이 명령은 파일 기호 링크를 만듭니다.
/h 대신 바로 가기 링크를 하드 링크를 만듭니다.
/j 디렉터리 연결을 만듭니다.
<link> 만들 기호 링크의 이름을 지정합니다.
<target> 새 바로 가기 링크를 참조 하는 경로 (상대 또는 절대)를 지정 합니다.
/? 명령 프롬프트에 도움말을 표시합니다.

작은 팁이지만 저와 같은 상황을 겪은분들에게 작은 도움이 되길 바라며 남깁니다. ^^