본문 바로가기

Linux

<Linux> 리눅스에서 링크란??

반응형

리눅스에는 링크개념이 존재하는데 쉽게 말하면 우리가 좋아하는 게임을 C드라이브 설치된 폴더에서 실행시키는 것이 아니라 바탕화면에서 아이콘을 통해 실행시킬수 있는 것과 같은 원리다. 

 

우선 링크에는 크게 하드링크, 소프트링크 2가지가 있는데 그렇다면 파일 링크는 왜 쓸까

 

여러 이유가 있겠지만 대표적으로, 경로단축을 위해 링크를 설정하는 경우와, 데이터를 안전하게 보관하고 싶을 경우, 또 파일들의 통일성을 주기 위한 경우 등 여러 이유를 들 수 있겠다. 

 

먼저 소프트링크를 만드는 방법에 대해서 알아보겠다. 소프트링크는 나중에 서비스를 만들고 배포할 때 참조하는 라이브러리가 바뀔 때 마다 쉽게 바꾸어 줄 수 있기 때문에 잘 알아두장

 

우선 소프트링크를 하는 법은 ln 명령어 뒤에 -s 를 붙여주고 링크시킬 파일과 참조되는 파일을 적어주면 되겠다. 

물론 이상태에서 link.so 가 사라지게 되면 자동적으로 링크되고있는 파일도 그저 껍데기만 있는 파일이 된다. 

 

반대로 하드링크를 거는 방법은 뒤에 -s 만 뺴고 붙여주면 된다. 

 

 

이런식으로 하드링크를 걸고 아이노드 번호를 확인해주면 같은 번호로 생성이되고 하드링크로 연결이 되어 있기 때문에 하나의 파일을 수정해줘도 양쪽에 전부 영향이 간다. mvwork가 원본파일이긴 하나 하드링크로 복사본이 만들어진 순간 원본과 복사본의 개념이 사라진다. 

반응형