How to: Linux / UNIX create soft link with ln command

2021. 7. 18. 11:43꿀팁 분석 환경 설정/Linux 관련 팁

  • symbolic links (also known as “soft links” or “symlinks”): Refer to a symbolic path indicating the abstract location of another file.
  • hard links : Refer to the specific location of physical data.

 

inode?
파일 시스템 내에서 파일이나 디렉터리는 고유한 inode를 가지고 있다.
inode는 파일의 소유권, 권한, 파일 내용이 들어있는 물리 주소, 링크 수, 형태, 크기, 시간 등 파일에 대한 정보를 가지고 있다 (주민 번호와 같은 개념으로 고유함 정도로 이해)

 

심볼릭 링크(Symbolic Link)란?

심벌 링 링크는 단순히 원본 파일을 가리키도록 링크만 연결 시켜둔 것으로 위에서 설명한 윈도우에서의 바로가기파일이라고 생각하시면 됩니다. 또한 원본파일만 가리키기만 하고 있으므로 원본파일의 크기와 무관하며 원본파일이 삭제되어 존재하지 않을 경우에 빨간색으로 깜빡거리면서 링크파일의 원본파일이 없다는 것을 알려줍니다.

 

1. 원본파일을 가리키도록 링크시켜주는 것입니다.(바로기가 파일)

2. 원본 파일의 크기과 무관 합니다.

3. 원본파일 삭제하여도 링크 파일이 깜박거리면서 원본이 없다고 알려줍니다.

 

하드 링크(Hard Link)

ln 명령어를 사용할 때 사용한 -s 옵션을 사용하지 않는 경우 하드 링크(hard link)가 생성된다.

하드 링크의 경우는 원본과 동일한 inode를 가진다. 따라서 원본 파일이 삭제되더라도 사용 가능하다.

 

  • cp와의 차이점
    • hard link는 inode가 동일하지만, cp를 할 경우 새로운 inode(새로운 고유 번호)를 가지게 되며, 용량도 그만큼 증가하게 된다.

 

 

[ln 명령어 옵션]

-b : 링크파일 생성 시에 대상 파일이 이미 존재하면 백업 파일을 만든 후에 링크 파일을 생성합니다.

-d : 디렉터리에 대한 하드 링크 파일 생성을 가능하게 합니다.

-f : 대상 파일이 존재할 경우에 대상 파일을 지우고 링크파일을 생성합니다.

-i : 대상파일이 존재할 경우에 대상파일을 지울건인가를 확인 요청합니다.

-t : 링크 파일을 생성할 디렉터리를 지정합니다.

-s : 심볼릭 링크 생성

## https://server-talk.tistory.com/140

 

 

Creating Symlink to a directory

source-dir-name 폴더를 symbolic-dir-name 안에 생성함.

 ln -s {source-dir-name} {symbolic-dir-name}

 

 

Remove Symlink

아래와 같이 link_sym을 rm으로 삭제하면 됨.

mkdir test
ln -s test link_sym

rm link_sym

 

 

 

 

 

https://server-talk.tistory.com/140

 

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

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

server-talk.tistory.com

https://www.cyberciti.biz/faq/creating-soft-link-or-symbolic-link/

 

How to: Linux / UNIX create soft link with ln command

This quick guide explains what is a symbolic link and how to create a soft link (symbolic) under Linux, macOS, *BSD or Unix-like system.

www.cyberciti.biz

 

728x90