심볼릭 링크 만들기
- 동기화 하고 싶은 폴더가 있을때 정말 좋다
심볼릭 링크 만드는 법
- 절대 위치 사용 ;
mklink /d [링크위치] [실제위치]
- 상대 위치 사용 ;
mklink /d [링크위치] [링크위치를 기준으로 상대위치]
- ex )
mklink /d .\.aws-sam\build\CommentFunction ..\..\dist
- ex )
- 링크이름 ; 새로만들어질 폴더 ; 현재 존재하지 않는 폴더여야 함
- 실제위치 ; 원본 폴더 ; 이미 만들어져 있는 폴더
심볼릭 링크 삭제
rmdir [링크]
심볼릭 링크
- 폴더 내용물이 공유된다. (사본이 아님)
- 링크 폴더도 실제 폴더 처럼 작동한다
- 바로가기 아이콘을 하고 있다
- 원본 폴더에 별명을 지어준 느낌이다
- 포인터 같은 느낌이다
팁
- 권한이 없다고 하면 관리자 권한으로 명령을 실행한다
상대경로를 사용해 만든경우
- 당연한 말이지만 원본 폴더나 링크 폴더의 위치가 바뀌면 안된다
- 디렉터리 구조가 변하지 않고 두 폴더를 이동한다면 잘 작동한다
절대경로를 사용해 만든경우
- 링크 폴더를 아무렇게나 이동시켜도 잘 작동한다
- 당연한 말이지만 원본 폴더를 옮기면 작동하지 않는다
내가 활용한 곳
aws lambda layer
- lambda 에서는 함수의 크기를 줄이기 위해 layer라는 것을 사용한다
- sam project에서 lambda를 작성하고 node_modules 같은 무거운 얘들은 layer로 빼야한다
- 그런데 이 과정이 매우 귀찮다
- package.json 에서 종속성들이 빌드되지 않게 주석
- sam yaml에서 지정한 종속성 경로에 node_modules 사본 또는 옮기기
- 수정작업할때, 코딩할때 자동완성 및 문서를 보기 위해서는 node_modules 폴더가 함수 안에 필요함
- sam yaml에서 지정한 종속성 경로는 함수안이 되면 안됨. 즉, 직접 다이렉트로 node_modules를 지정할 수 없음. sam project 루트로 빼던가 해야함
- 여기서 심볼릭 링크를 활용해서 두 폴더간 동기화를 진행!