본문 바로가기
개발 관련

[Win] 파일, 폴더 링크 만들기 / junction, mklink 사용방법

by dev_drive 2022. 12. 27.
반응형

 

파일, 폴더의 링크를 만드는 것은 쉽게 말해 파일이나 폴더의 경로를 다른 경로로 연결시켜주는 작업을 의미합니다. 

예를들어 C:\Temp의 경로를 S:\Temp로 만들 수 있는 것이죠. 

 

이걸 어디다 써먹냐고 생각하실 수도 있는데 간혹 프로젝트 설정이 특정 디렉토리에 맞춰져 있는데 

내 PC에서는 그 환경을 만들기 어려운 경우 사용해 볼 수 있습니다. 

 

이런 링크를 만드는 방법은 크게 junction.exe를 사용하는 방법과 mklink를 사용하는 방법이 있는데

junction.exe는 오류가 많아서 mklink를 사용하는 방법으로 설명드리겠습니다.

 


 

※ 파일, 폴더 링크 연결 mklink

cmd(명령프롬프트)에서 mklink를 입력해보면 명령어를 확인할 수 있습니다. 

 

/D, /H, /J 3가지 종류가 있는데 각각 어떤 특성이 있는지 정리해보겠습니다. 

 

  하드 링크 (/H) 정션 (/J) 심볼릭 링크 (/D)
지원 OS 윈도우 NT4 이상 윈도우 2000 &
윈도우 XP 이상
윈도우 비스타 이상
스토리지 요구사항 동일한 볼륨(드라이브)에 있어야 함 로컬 컴퓨터에 있어야 함 모든 경로 (로컬 또는 원격)
탐색기에서 링크를 삭제한 경우 연결된 모든 링크가 제거되기 전까지는 유지됨 윈도우 비스타 이상 : 변경되지 않음
윈도우 2000, XP, 2003 : 대상 및 하위 폴더가 삭제됨
변경되지 않음
대상이 이동된 경우 유효함 무효화됨 무효화됨
상대 경로 허용 여부 해당 없음 허용되지 않음 허용됨
파일 연결 가능 여부 가능 불가능 가능
폴더 연결 가능 여부 불가능 가능 가능

저도 자세히 테스트해본건 아니니 참고만 해주세요.

 

특별한 경우가 아니면 심볼릭 링크(/D)를 사용하면 될 것 같습니다. 

(당연한 부분이겠지만 링크 대상이 되는 드라이브가 존재해야 연결이 가능합니다)

 

 

※ 링크 방법 ( mklink /옵션 링크경로 원본경로 )

mklink /d S:\Temp C:\Temp

연결이 되고나면 폴더에 바로가기 표시가 생성되고 들어가보면 C:\Temp 폴더에 있는 내용이 보여집니다. 

 

S 드라이브에서 dir로 내역을 확인해보면 <DIR>이 아니라 <SYMLINKD>로 설정되어 있고 원본 경로가 나타납니다. 

 

 

※ 링크 삭제 방법 ( rmdir 링크경로 )

rmdir S:\Temp

 

반응형

댓글