ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 하드링크, 심볼릭링크
    C,C++ & Linux 2020. 5. 18. 15:12
    728x90

    하드링크 : 원본 파일과 동일한 inode 를 가지는 파일

    즉 하드링크파일은 원본파일에 새로운 이름을 붙인 것이라고 생각하면 된다.

    비유를 하자면 저는 한국이름 "이동규"와 미국이름 "KyooDong"을 갖고 있습니다.

    이때 누가 와서 "이동규"를 때렸고, "이동규"가 다쳤습니다.

    그럼 "KyooDong"이 다쳤다고 말할 수 있나요?

    말할 수 있죠? 심지어 진짜 다친거에요

     

    하드링크 파일은 같은 파일을 가리키는 다른 이름의 파일이에요

    그래서 원본 파일을 수정하면 하드링크 파일도 수정되는 효과를 보게 됩니다.

    원본 파일을 지우는 것은 그냥 이름을 지운것이에요 (나 "이동규" 이름 안쓸래! 와 같습니다)

     

    inode 는 파일마다 부여된 unique 한 id 에요

    그래서 서로 다른 이름의 파일이더라도 inode 가 같다면 동일한 파일을 가리키고 있다는거에요

    inode 를 유전자라고 생각하면 돼요

    "이동규"의 유전자를 100% 복사해서 새로운 이동규인 "KyooDong"을 만들었다고 해봅시다.

    이 둘은 유전자가 같기 때문에 같은 사람이라고 말할 수 있겠죠? 하지만 분명 다른 개체로써 존재해요

    "이동규"가 교통사고로 죽는다고 "KyooDong"도 죽지는 않잖아요

     

    inode가 같다! 라고하는건 두 파일은 분명 이름은 다르지만 같은 메모리를 가리키는구나~ 라고 이해하시면 됩니다.

     

     

    심볼릭링크 : 원본 파일을 가리키는 파일

    심볼릭링크는 윈도우즈에 바로가기 아이콘과 같아요.

    바로가기 아이콘은 원본 파일이 삭제되면 클릭해도 사용할 수가 없죠?

    심볼릭링크 파일도 마찬가지로 원본 파일이 삭제되면 사용할 수 없게됩니다.

     

    링크 파일 도식화

     

     

    원본 파일 삭제

     

    'C,C++ & Linux' 카테고리의 다른 글

    C/C++ remove(3)  (0) 2020.05.18
    C/C++ link(2) unlink(2)  (0) 2020.05.18
    C/C++ truncate(2) ftruncate(2)  (0) 2020.05.18
    C/C++ chown(2) fchown(2) lchown(2)  (0) 2020.05.18
    C/C++ chmod(2), fchmod(2)  (0) 2020.05.17

    댓글

Designed by Tistory.