ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 소프트(심볼릭) 링크란?
    CS 지식/chat gpt와 TIL 2023. 8. 18. 21:07

    소프트링크(Symbolic Link)는 리눅스 및 유닉스 기반 운영 체제에서 파일 시스템의 개념으로, 다른 파일이나 디렉터리를 가리키는 작은 파일입니다. 소프트링크는 원본 파일에 대한 포인터처럼 동작하며, 원본 파일의 경로나 이름을 가리키기 때문에 원본 파일과 물리적으로는 연결되어 있지 않습니다. 쉽게 이해하면 윈도우 OS 에서 바로가기와 유사하게 볼 수 있다. 

     

    심볼릭 링크를 줄여서 심링크라고 표현하기도하며 리눅스나 유닉스 시스템의 링크 종류 중 하나인 소프트 링크라고도 불립니다. 

    즉 "심볼릭 링크 = 소프트 링크" 라고 이해하시면 됩니다. 



    소프트링크의 주요 특징은 다음과 같습니다

    1. 다른 Inode 

    원본 파일/디렉터리와 소프트링크 간에는 서로 다른 Inode 번호를 가집니다. 

    따라서 원본 파일과 소프트링크는 별개의 파일로 취급됩니다.

     

    💡 Inode 번호 - index node number 의 약자로 리눅스/유닉스 시스템에서 모든 파일들에 할당되는 고유의 번호를 뜻함. 

     

    2. 다른 데이터

    소프트링크 파일 자체에는 원본 파일의 실제 데이터가 아닌 원본 파일의 경로나 이름 정보만 저장되어 있습니다.

    따라서 소프트링크를 통해 원본 파일의 데이터를 직접 공유하지 않습니다.

    3. 다른 권한과 소유자

    소프트링크 파일은 원본 파일의 권한과 소유자 정보를 공유하지 않습니다.

    소프트링크 자체에 설정된 권한만 적용됩니다.

    4. 파일 이름 변경

    원본 파일/디렉터리가 삭제되거나 이동할 경우 소프트링크는 끊어지게 되며 무효화됩니다. 소프트 링크는 더 이상 존재하지 않는 파일/디렉터리를 가리키게 되어 동작 하지 않음. 

    5. 다른 파일 시스템에서도 작동

    소프트링크는 서로 다른 파일 시스템 사이에서도 생성하고 사용할 수 있습니다.

    6. 원본 파일 삭제

    원본 파일이 삭제되면 소프트링크는 "끊어져"있는 상태가 되며 무효화됩니다.

    이 때 원본 파일을 찾을 수 없는 경우 소프트링크는 "깨진 링크"가 됩니다.

     


     

    ln -s A B

    - 다른 파일 시스템에서 생성이 가능. 

    - Windows OS의 바로가기와 동일.

    - ls -al 하면, 소프트링크 확인이 가능하다. 

    - rm A로 원본파일인 A를 삭제하게 되면? 바로가기로 만들어진 B는 해당 파일 접근이 불가능해진다. 즉, 원본 파일이 삭제되면 무의미한 파일이 된다. 

    - 소프트 링크를 만들면 "자신만의 / 별도의 inode 블럭을 만들게 된다." 그 아이노드 블럭에는 실제 오리지널 파일을 가리키는 "주소/ 포인터"만 가지고 있음! 


    리눅스에서는 `ln` 명령에 `-s` 옵션을 사용하여 소프트링크를 생성하고 관리할 수 있습니다. 예를 들어, 아래 명령은 `file.txt` 파일에 대한 소프트링크 `link.txt`를 생성합니다:

    ln -s file.txt link.txt


    소프트링크는 원본 파일이나 디렉터리의 경로를 가리키므로, 다른 디렉터리에 있는 파일이나 디렉터리를 가리킬 수도 있습니다. 이러한 특성으로 인해 유연한 파일 및 디렉터리 관리가 가능합니다.

     

    'CS 지식 > chat gpt와 TIL' 카테고리의 다른 글

    모놀리식, 모놀리식 애플리케이션이란?  (0) 2023.09.05
    [ AWS ] Origin Cloaking 이란?  (0) 2023.09.04
    하드 링크란?  (0) 2023.08.18
    데몬 프로세스란?  (0) 2023.08.18
    운영체제에서 shell 이란?  (0) 2023.08.17

    댓글

SSOONTORY Blog.