OS/Linux

[Linux] 심볼릭 링크(Symbolic Link)

정민교 2021. 11. 19. 17:18

개요

리눅스에서도 윈도우의 '바로 가기' 와 같은 기능을 이용할 수 있다는 사실을 알고 조사 후 남기는 포스팅이다.


먼저 리눅스에서 링크는 심볼릭링크하드링크가 있는데 두 가지 링크를 알아보기 앞서 파일링크 라는 것을 먼저 알아야한다.

윈도우에서 파일링크는 '바로 가기' 기능이다.

윈도우 바로가기 아이콘

윈도우에서 저런 아이콘에 있는 화살표를 많이 본 적이 있을 것 이다.

모두가 알다시피 '바로 가기 아이콘' 이라는 표시인데 해당 아이콘은 확장자가 .lnk로 되어있다. (아마 링크의 약어인듯)

아이콘의 속성을 들여다보면,

이런 식으로 파일의 대상 경로가 적혀 있다.

결국 파일의 경로에 있는 실제 오리지널 파일을 연결시켜주는 아이콘이라는 것이다.

그리고 리눅스에서도 이러한 기능을 지원한다!

 

최대한 간략하게 정리해보면

- 심볼릭 링크

  • 원본파일을 가르키도록 링크(윈도우 바로가기 파일 동일)
  • 원본파일의 크기와 무관
  • 원본파일을 삭제하면 링크파일(바로가기 파일)이 빨갛게 깜빡거리면서 원본이 없다고 알려줌

- 하드 링크

  • 원본파일과 동일한 내용의 다른 파일(복제, 주소값은 같음)
  • 주소값이 같기 때문에 원본파일이 수정되어도 하드링크파일이 수정되고 하드링크파일이 수정되어도 원본이 수정됨

 

+ 추가 : 디렉토리에 링크를 적용하면 링크가 적용된 디렉토리와 오리지널 디렉토리가 연결된다. 

예시 ) 

  1. original 디렉토리에 copy 링크 생성(copy->original)
  2. copy 링크에 test.php 생성
  3. original 디렉토리에도 test.php 생성됨

사용법

ln 명령어(옵션이 없으면 하드링크, -s옵션 사용 시 심볼릭 링크)

$ ln [option] 원본 파일 대상명
옵션 의미
-s (--symbolic) 심볼릭 링크 생성 시 사용
-S (--suffix) 백업 파일 생성 시 원하는 suffix를 지정 가능
-v (--verbose) 링크파일을 만드는 정보를 자세히 출력
-b (--backup) 대상 파일이 이미 존재하면 백업 파일을 만들고 링크파일 생성
-f (--force) 링크 파일 존재 시 삭제하고 생성
-i (--interactive) 대상 파일이 존재하면 대상 파일을 지울 것 인지 물어봄

예시

$ ln test.txt t
-> test.txt라는 파일의 하드링크 파일인 t를 현재 폴더에 생성

$ ln -s test t
-> test라는 파일의 심볼릭 링크 파일인 t를 현재 폴더에 생성

$ ln -s /etc/xinetd.d x
-> 해당 경로의 심볼릭 링크 파일인 x를 현재 폴더에 생성

참고 포스팅

 

리눅스 Symbolic Link - 심볼링릭크 소개와 사용법

리눅스 Symbolic Link - 심볼링릭크 소개와 사용법 심볼링크와 하드링크의 소개에 앞서 리눅스의 파일링크에 대해서 먼저 숙지 하여야합니다 우선 리눅스의 파일링크의 대해서 설명하겠습니다.  

server-talk.tistory.com

 

 

[리눅스, 유닉스] 파일링크 ln 명령어- 심볼릭 링크(소프트링크)와 하드링크 원리, I-node 아이노드

[리눅스/ 유닉스 완전정복 목차 모음] 안녕하세요! 주인장 양햄찌입니다. 오늘은 파일 링크에 대해서 알아보는 시간을 가질거예요. 목차 1. 파일 링크란 무엇인가? 2. 파일 링크 왜 쓰나? 필요한

jhnyang.tistory.com

 

리눅스 심볼릭 링크 생성 및 삭제

리눅스 심볼릭 링크는 특정 파일이나 디렉토리에 대하여 참조를 하는 특수한 파일이다. 쉽게 생각하면 윈도우에서 우리가 즐겨 사용하는 "바로가기"와 동일하다고 할 수 있다. 우리는 다양한 이

fruitdev.tistory.com