ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 하드 링크란?
    CS 지식/chat gpt와 TIL 2023. 8. 18. 20:49

    하드링크(Hard Link)는 리눅스 및 유닉스 기반 운영 체제에서 파일 시스템의 개념으로, 동일한 파일에 대한 다른 이름을 생성하는 방법입니다. 하드링크를 사용하면 원본 파일과 하드링크 간에 데이터의 내용이나 크기를 공유하며, 원본 파일과 하드링크 간의 변경이 서로에게 영향을 미칩니다.

     



    하드링크의 주요 특징은 다음과 같습니다:

    1. 같은 Inode: 원본 파일과 하드링크 간에는 동일한 Inode 번호를 공유합니다. Inode는 파일 시스템에서 파일의 메타데이터를 저장하는 구조체로, 파일의 크기, 소유자, 권한 등의 정보를 포함합니다.

    2. 동일한 데이터: 원본 파일과 하드링크는 동일한 데이터를 가리키며, 실제 데이터를 복제하지 않습니다. 따라서 하드링크를 생성해도 디스크 공간은 추가로 소비되지 않습니다.

    3. 동일한 권한과 소유자: 원본 파일과 하드링크는 동일한 파일 권한 및 소유자 정보를 공유합니다.

    4. 파일 이름 변경: 원본 파일과 하드링크 간의 파일 이름이 변경되어도 서로에게 영향을 미치지 않습니다. 하드링크가 원본 파일과 다른 파일 이름을 가질 수 있습니다.

    5. 동일한 파일 시스템에서만 작동: 하드링크는 동일한 파일 시스템 내에서만 작동합니다. 서로 다른 파일 시스템 사이에서는 하드링크를 생성할 수 없습니다.

    주의할 점은 하드링크를 삭제해도 원본 파일은 그대로 남아있지만, 원본 파일을 삭제해도 하드링크는 여전히 동작하지만 데이터 손상이 발생할 수 있다는 것입니다. 이는 하드링크가 동일한 Inode를 공유하기 때문입니다.


    ln A B

     

    inode를 공유해서 사용.하드링크 파일이 수정되면 원본 파일도 같이 변경된다. 같은 파일 시스템에서만 생성가능.원본 파일이 삭제되어도 문제 없음.

    b라는 파일명으로 하나의 파일이 생기는 것임. 근데 둘은 동일한 데이터를 가지고 있음. 

    A나 B를 수정하면 A와 B 에서 똑같은 수정 내용으로 보인다. 


    리눅스에서는 `ln` 명령을 사용하여 하드링크를 생성하고 관리할 수 있습니다.

    예를 들어, 아래 명령은 `file.txt` 파일에 대한 하드링크 `link.txt`를 생성합니다.

    ln file.txt link.txt



    하드링크를 사용하면 동일한 데이터를 여러 위치에서 참조하면서 디스크 공간을 절약할 수 있습니다.

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

    [ AWS ] Origin Cloaking 이란?  (0) 2023.09.04
    소프트(심볼릭) 링크란?  (0) 2023.08.18
    데몬 프로세스란?  (0) 2023.08.18
    운영체제에서 shell 이란?  (0) 2023.08.17
    AWS Congnito란?  (0) 2023.08.14

    댓글

SSOONTORY Blog.