윈도우 Anaconda Powershell에서 Symbolic Link 사용하기

sydney·2022년 3월 7일
0

TIPlog

목록 보기
1/4

Symbolic Link란?

  • Symbolic Link는 실제로는 파일을 이동시키지 않지만 마치 파일이 그 자리에 있는 것처럼 실물을 가리키는 포인터를 생성하는 것입니다.

    컴퓨팅에서 심볼릭 링크(symbolic link) 또는 기호화된 링크는 절대 경로 또는 상대 경로의 형태로 된 다른 파일이나 디렉터리에 대한 참조를 포함하고 있는 특별한 종류의 파일이다.
    심볼릭 링크는 다른 파일이나 디렉터리에 대한 경로로서 운영 체제가 자동으로 해석하고 추적하는 텍스트 문자열을 포함한다. 이러한 다른 파일이나 디렉터리를 대상(target)으로 부른다. 심볼릭 링크는 대상으로부터 독립적으로 존재하는 두 번째 파일이다. 심볼릭 링크가 삭제되면 대상은 영향을 받지 않는다. 심볼릭 링크가 대상을 지시하면 나중에 대상이 이동되거나 이름이 바뀌거나 지워지더라도 심볼릭 링크는 자동으로 업데이트되거나 삭제되지는 않지만 지속적으로 오래된 대상(현재는 존재하지 않는 위치나 파일)을 가리킨 채로 존재한다. 이동되었거나 존재하지 않는 대상을 가리키는 심볼릭 링크들은 broken, orphaned, dead, dangling 등의 용어로 불리기도 한다.
    -위키백과 "심볼릭 링크"에서 일부 발췌.

Anaconda Powershell에서 jupyter notebook을 켤 때마다 내가 설정한 홈 폴더로 이동하는 것이 귀찮을 때가 있습니다.
항상 커맨드 창이나 powershell을 켰을 때 바로 대상 폴더로 이동하고 싶을 때 단축키처럼 사용할 수 있는 것이 바로 Symbolic Link입니다.

  • 윈도우 7부터 지원하고 있습니다.
  • 심볼릭 링크는 대상을 가리키는 것이므로, 심볼릭 링크 자체를 삭제하거나 수정하는 행위는 대상에 영향이 없습니다.
  • 심볼릭 링크에 매핑된 실제 파일이 사라졌어도 심볼릭 링크는 빈 곳을 가리키며 그대로 유지됩니다. (broken)
  • 심볼릭 링크를 경로에 대한 단축키로 사용할 수 있습니다.
  • 버전이 계속 바뀌는 개발 단계에서, 심볼릭 링크를 통해 코드를 간단하게 유지할 수 있습니다. (코드 상으로 'program'이라는 심볼릭 링크를 배포 대상으로 설정해 두고 매핑되는 실제 파일을 'program v.1' 에서 'program v.2'로 바꿔주기만 하면 됨)

환경: Windows 10

New-Item -ItemType SymbolicLink -Path "{단축어를 실행하고자 하는 위치}" -Name "{단축어 이름}" -Target "{실제 존재하는 위치}"
  • Path: 단축어를 실행하고자 하는 위치, 즉 파일이 있는 것처럼 보여질 위치를 지정해 줍니다.
  • Name: 심볼릭 링크의 이름을 지정해 줍니다. 지정한 Path에서 해당 Name을 실행하면 매핑한 폴더 혹은 파일이 불러와집니다.
  • Target: 실제 열고자 하는 폴더 또는 파일을 지정해 줍니다.

  • Path는 현재 위치를 "."로 간접경로를 사용해 실행위치로 지정했습니다.
  • target인 ~\~\~\cv 폴더를 심볼릭링크 Name을 cv가 가리키도록 설정했습니다.
  • 이후 현재 디렉터리에 'cv'라는 이름으로 symbolic link가 생성된 것을 볼 수 있습니다.

실제 심볼릭 링크의 사용은 이렇게 할 수 있습니다.

  • 폴더를 심볼릭 링크를 가리키는 것이므로 cd 'Name'으로 해당 폴더로 이동을 명령합니다.
  • 실제 해당 경로에 해당 폴더가 없음에도 정상적으로 이동이 되는 것을 볼 수 있습니다.
  • ls로 파일 리스트를 둘러보면 내가 원하는 폴더 안의 내용이 실제로 안에 들어와 있는 것을 볼 수 있습니다.
  • 여기에서 'jupyter notebook' 명령어를 실행하면 해당 폴더 안에서 생성하는 것과 동일하게 실행 가능합니다.

정리

심볼릭 링크는 위에서 언급한 바와 같이, 단축키를 설정하거나 버저닝을 위한 코드를 간결히 작성하는 데 매우 유용합니다.
심볼릭 링크를 통해 생성한 후 링크의 파일을 수정하면 실제 경로에 있는 파일도 잘 수정되는 것을 확인할 수 있습니다.

참고

심볼릭 링크 - 위키백과, 우리 모두의 백과사전 (wikipedia.org)

0개의 댓글