본문 바로가기

정글캠프-WIL/서브아이템

윈도우 mklink + 심볼릭 링크에 대해

1. mklink란?

 

mklink는 Windows에서 링크(바로가기 같은 개념)를 만드는 명령어다.
하지만 일반 바로가기(.lnk)보다 훨씬 강력해서 파일 시스템 레벨에서 연결된다.

 

 

원본 파일/폴더는 그대로 두고
다른 위치에서 같은 것처럼 접근 가능

 

2. 왜 사용하는가?

 

프로젝트 폴더를 다른 위치에서 재사용

용량 큰 파일을 다른 드라이브에 두고 연결

여러 경로에서 같은 데이터 공유

개발 환경 (node_modules, config 등)

 

3. mklink 기본 문법

$ mklink [옵션] 링크경로 대상경로

- 링크 경로 : 새로 만들 위치

- 대상 경로 : 실제 파일/폴더 위치

 

4. 옵션 종류

1) 파일 심볼릭 링크 (파일만 연결)
mklink link.txt target.txt

2) 디렉토리 심볼릭 링크 (/D) (폴더 연결 [많이 씀])
mklink /D link_folder target_folder

3) 하드 링크 (/H) (같은 파일을 여러 이름으로 사용, 같은 디스크에서만 가능)
mklink /H link.txt target.txt

4) 디렉토리 정선 (/J) (폴더 연결 [구현 방식, 호환성 좋음])
mklink /J link_folder target_folder
구분 /D (심볼릭 링크) /J (정션
다른 드라이브 가능 불가능
네트워크 경로 가능 불가능
권한 필요 관리자 권한 필요 없음
추천 최신 방식 레거시

 

 

5. 사용 예제 실습하기

D:/TestFolder/Test1/WillMove -> D:/TestFolder/Test2/WillMove

위 Test1 폴더에 있는 WillMove 폴더를 Test2 폴더로 심볼릭 링크 연결을 해볼 예정

 

ⓐ. Test1 폴더안에 WillMove 폴더를 생성 후, test.txt 파일안에 1을 입력한 상태로 저장

 

ⓑ. mklink /D 옵션으로 D:/TestFolder/Test2/WillMove 폴더에 심볼릭 링크 생성후 작동 체크 (관리자 권한으로 생성 필수)

 

정리 : 사용 예시가 Test1 폴더에 있던 WillMove 폴더가 Test2 폴더에 심볼릭 링크로 생성되어서 잘 동작하고 있음을 확인