'ln'에 해당되는 글 1건

  1. 2021.01.16 mklink 사용하기 (hard, junction, symbolic link)
2021. 1. 16. 21:54

mklink 사용하기 (hard, junction, symbolic link)

결론부터 얘기하면, 그냥 symbolic link (directory) 를 사용하는 게 좋겠다.

 

https://superuser.com/questions/343074/directory-junction-vs-directory-symbolic-link

항목 별

Hard (link)

Junction (soft link)

Symbolic link

Target type

File

Directory

File (default), Directory (/D)

Target 위치

같은 volume

Local computer

Any

Target이 없으면

생성불가

생성가능

생성가능

Link 저장 방식

(보이지 않음)

절대경로 저장

같은 volume에 있으면, 상대경로,

그렇지 않으면 절대경로

Delete link

Target is unchanged

Move target

Link 유지

Link 깨짐

Link 깨짐

Delete target

Link has target content

Link 깨짐

Link 깨짐

Remote access linking

?

Server side에서 linking

Back to local linking

속도

빠름

빠름

느림

 

뭐 조금 복잡한데,

일반적으로 local에서 사용할 때는 symbolic link 를 사용하면 무난한데,

원격에서 접속하는 folder를 위한 directory link를 만들 때는 Junction 으로 만들어야 함.

> mklink /J link target

 

Symbolic link 가 상대 주소로 지정이 된다고 하니, (linuxln 명령과 같이) 상대경로로 지정하고자 할 때는, “/D” 를 사용하여 directory symbolic link를 사용하는 게 나쁘지는 않는 것 같다.

예를 들어, 아래 버젼별로 2개가 있는데, 

2021-01-16  17:21    <DIR>          v2.30

2021-01-16  09:41    <DIR>          v2.31

이 중에서 최신 것을 v2 로 link 하여,

> mklink /D v2 v2.31

symbolic link created for v2 <<===>> v2.31

이렇게 하면,

2021-01-16  21:37    <SYMLINKD>     v2 [v2.31]

2021-01-16  17:21    <DIR>          v2.30

2021-01-16  09:41    <DIR>          v2.31

이렇게 해서, v2 폴더가 항상 최신 버젼을 참조하도록 하면, 버전이 바뀌면 v2 만 새로 만들어 주면 된다.

 

참고 사이트의 설명처럼, SMB network 상의 주소를 target 으로 하여 link를 생성하는 것은 하지 말자. 끝.