심볼릭 링크관련 정리!

2021. 9. 14. 14:45리눅스

반응형

회사 개발서버에 적용되어있는 것들중 링크형태로 정적파일등을 공유해서 사용중이였다.(사용자,관리자 서버 2개의 정적파일 공유형태)

심볼릭 링크 만들기 (소프트링크 방식(현재) In -s , 하드링크 방식(안씀) In )

파일 링크 : ln - 하드 링크(Hard Link), 소프트 링크(Soft Link) 관련 주소

출처: https://6kkki.tistory.com/10 [NATION OF 6KKKI]

 

하드링크는 INODE가 같음!(아이노드란 파일 정보같은것)

복사해서 가져온파일은 아이노드가 다르

 

기본적으로 관리자에 모든 소스 부여

사용자프로젝트에서는 관리자 폴더로 링크 생성하여 공유

ln -s [실제로 존재하는 폴더경로] [링크폴더경로]

기존에 링크 걸던부분은 에디터,데이터,첨부파일,이미지,CSS,JS파일 등등

링크1 cheditor

링크2 data

링크3 common

링크4 resource

아래는 동일한 이름으로 해당폴더를 심볼릭 링크로 만들때 사용됨!

sudo ln -s /경로/cheditor /경로/cheditor 

sudo ln -s /경로/data /경로/data

sudo ln -s /경로/common/경로/common

sudo ln -s /경로/resource/경로/resource 

##그리고 윈도우로 된 운영서버에서도 동일한 셋팅이 필요하여 정리된부분은 아래와같음##

 

 

이런 기능이 윈도우에서도 존재합니다.

mklink라는 명령어로 Windows xp에서도 존재했는지는 알 수 없습니다만 windows7부터는 있네요

 

먼저 mklink명령어로 심볼릭 링크를 만들기 위해서는 관리자 권한으로 명령프롬프트를 실행해야 합니다.

 

mklink 명령어를 치니 다음과 같은 설명과 옵션이 나옵니다.

중요한건 /D 옵션을 주면 디렉터리 심볼릭 링크를 만들고 그냥 사용하게 되면 파일을 가지고 심볼릭 링크를 만든다고 되어 있습니다.

 

그럼 사용법은 다음과 같이 되겠네요.

예제에 사용한 디렉터리는 C:\myproject를 기준으로 설명합니다.

 

# 파일에 대한 심볼릭 링크 생성

사용법 : mklink [심볼릭파일명] [링크대상 파일명]

심볼릭파일명은 현재 위치가 어디냐에 따라서 상대경로 혹은 절대경로로 사용을 합니다.

메모장을 notepad는 이름으로 심볼릭 링크를 만듭니다.

notepad라는 상대경로를 지정을 했기 때문에 현재 명령어를 실행 시키는 위치에 notepad가 생성이 됩니다. 

 

 

# 디렉터리에 대한 심볼릭 링크 생성

사용법 : mklink /d  [심볼릭디렉터리] [링크대상 디렉터리]

심볼릭디렉터리는 현재 위치가 어디냐에 따라서 상대경로 혹은 절대경로로 사용을 합니다.

윈도우 폴더를 해당 명령어가 실행되는 위치에서 windws라는 심볼릭 링크를 만드는 예제입니다.

 

# 확인

메모장과 윈도우 폴더에 대한 심볼릭 링크를 만들었으니 제대로 되어있는지 확인 해보겠습니다.

탐색기에서 봤을 경우에는 기존에 윈도우에서 보던 바로가기와 비슷한 모양입니다.

마우스를 더블클릭을 하게 되면 파일일 경우 메모장이 실행되고 디렉터리일 경우 윈도우 폴더로 들어가는 것과 같은 결과를 보여주게 됩니다. 

 

명령프롬프트에서 dir 명령으로 실행하여 본 결과 모습입니다.

각각 심볼릭 링크 뒤에 실제 참조하고 있는 경로가 표시되고 있는것이 보이네요.

 

# 심볼릭 링크 삭제

심볼릭 링크를 삭제하기 위해서는 파일은 del 명령으로, 디렉터리는 rmdir 명령으로 삭제를 합니다.

윈도우 탐색기일 경우에는 그냥 del키로 삭제하시면 됩니다.

 

먼저 notepad 파일을 삭제하고, windows 디렉터리를 삭제한 후의 dir 명령을 통해서 해당 디렉터리의 파일 존재 유무를 확인했습니다.

깨끗하게 삭제가 되었네요.

 

 

예전부터 있는 명령어였는지 모르겠지만 이전에는 특정 프로그램을 통해서 심볼릭 링크를 걸었던 기억이 있는데 mklink 명령어가 있으니 참 편리하네요.

 

 

 

출처: https://hmjkor.tistory.com/460 [개발이야기]

 

 

실제로 적용한

 

###사용한방법정리###

 

 

윈도우 심볼릭 링크

파일말고 디렉토리 만들기

폴더 심볼 링크 : mklink /d "링크" "원본"

mklink [심볼릭디렉토리] [링크대상 디렉토리]

 

만들려는곳 폴더로 간뒤 해당폴더에서 cmd창 열고

명령어 /d(디렉토리 복사명령어) "심볼릭디렉토리이름" "복사하는 파일들 있는위치"

mklink /d data E:\SNIP_WEB\WEB_DATA\SNIP

 

## 자세하게 설명되어있는곳##

https://skeleton.tistory.com/19

 

반응형