하드링크 (Hard Link)
하드링크는 원본 파일과 동일한 데이터를 가리키는 또 다른 이름입니다.
원본 파일과 하드링크가 같은 아이노드 번호를 가집니다. 즉, 이 두 파일은 사실상 같은 파일입니다.
왜 하드링크를 배워야 할까요?
여러분은 파일을 여러 곳에서 사용해야할때 어떻게 합니까? 같은 파일을 여러 이름으로 저장하거나, 다른 위치에서 바로 접근할 수 있다면 더 효율적으로 관리할 수 있겠죠? 하드링크는 이런 문제를 해결해 줍니다.
시스템에서 파일 중복을 줄이고 디스크 공간을 절약할 수 있기 때문입니다.
예를 들어, 백업 시스템에서 동일한 파일을 여러 장소에 두고 관리해야 할 때, 하드링크를 사용하면 실제 파일을 복사하지 않고도 여러 위치에서 동일한 파일을 참조할 수 있습니다.
비유 법으로 배워봅시다
"이름 바꾸기"
하드링크는 마치 "이름을 바꾼 파일"과 같습니다.
예를 들어, 당신이 친구에게 '홍길동'이라는 이름을 줬다면, '홍길동'이라는 이름으로 불리는 사람이 바로 그 친구입니다.
이제 '길동이'라는 이름을 다시 붙였다고 생각해 보세요.
그 친구는 여전히 같은 사람이지만, 두 이름을 다 사용할 수 있게 된 것입니다. 이 경우 '홍길동'과 '길동이'는 사실 같은 사람(파일)입니다.
|
파일 시스템에서 중요한 데이터 파일을 여러 곳에서 참조해야 할 때, 하드링크를 사용하면 데이터 중복을 줄이고 디스크 공간을 절약할 수 있습니다.
예를 들어, 서버의 데이터베이스 파일이 여러 디렉토리에서 필요할 때, 하드링크를 사용하여 하나의 원본 파일을 여러 이름으로 참조할 수 있습니다.
하드링크는 복사본을 만들지 않고도 파일을 여러 곳에서 사용할 수 있게 해 줍니다.
|
소프트링크 (Soft Link, Symbolic Link)
소프트링크(심볼릭 링크)는 원본 파일을 가리키는 "통로" 역할을 합니다.
소프트링크는 원본 파일의 경로를 저장하는 별도의 파일로, 실제 데이터는 저장하지 않습니다.
이 링크는 원본 파일의 위치를 알려주는 주소와 같은 역할을 합니다.
왜 소프트링크를 배워야 할까요?
소프트링크는 시스템 관리에서 파일 경로를 효율적으로 관리하는 데 매우 유용합니다.
예를 들어, 자주 변경되는 설정 파일이나 라이브러리 파일에 대한 경로를 소프트링크로 관리하면, 시스템 업데이트나 변경이 있을 때 소프트링크만 수정하면 되기 때문에 관리가 용이해집니다.
또한, 시스템 설정이나 프로그램 파일들을 여러 곳에서 사용할 때, 소프트링크를 사용하여 경로를 간편하게 지정할 수 있습니다.
비유 법으로 배워봅시다
"주소를 적어 놓은 종이"
소프트링크는 마치 원본 집의 주소를 적어 놓은 종이와 같습니다.
예를 들어, 당신이 친구 집에 가고 싶을 때, 친구의 집 주소를 적어놓은 종이를 받고, 그 주소로 가면 친구를 만날 수 있죠.
이 주소 종이(소프트링크)는 원본 집(파일)의 위치를 가리키고 있습니다.
그러나 이 종이 자체는 집이 아니고, 그저 집의 위치를 알려주는 역할만 합니다.
만약 친구 집이 이사를 가면, 그 주소 종이는 더 이상 유효하지 않게 됩니다.
|
소프트링크는 파일 경로를 효율적으로 관리하고, 시스템 환경에서 파일을 쉽게 참조할 수 있게 해줍니다. 예를 들어, 여러 버전의 소프트웨어가 설치되어 있을 때, 최신 버전의 소프트웨어를 소프트링크로 가리키면, 소프트웨어 경로를 쉽게 변경할 수 있습니다. 또한, 프로그램의 설정 파일이 여러 디렉토리에서 필요할 때, 소프트링크를 사용하여 중앙 집중식으로 관리할 수 있습니다.
|
핵심 차이점
구분 | 하드링크 | 소프트링크 |
아이노드 번호 | 원본 파일과 동일한 아이노드 번호를 가짐 | 원본 파일과 다른 아이노드 번호를 가짐 |
동기화 | 수정 사항이 원본 파일과 하드링크 파일에 동기화됨 | 수정 사항이 동기화되지 않음 |
파일 삭제 시 | 원본 파일 삭제 후에도 하드링크는 삭제되지 않음 | 원본 파일 삭제 시 소프트링크는 깨짐 |
파일 내용 | 원본 파일과 내용이 동일 | 원본 파일의 경로를 가리키는 통로(주소) 역할 |
혹시 아이노드에 대해 아직 모르신다면 아래 링크에서 확인해주세요!
https://jdcyber.tistory.com/87
궁금하신 사항은 댓글에 남겨주세요
댓글에 남겨주신 내용은
추후 정리해서 올려드리겠습니다
구독 신청하시면 업로드 시 알려드릴게요!
-
조금이라도 도움이 되셨다면
공감&댓글 부탁드리겠습니다
감사합니다!
'개념' 카테고리의 다른 글
LAN과 ARP: 네트워크 통신의 핵심 개념과 역할 (0) | 2025.01.22 |
---|---|
리눅스 파일 시스템의 핵심, 아이노드(i-node)란 무엇인가? (0) | 2025.01.22 |
APN 설정으로 데이터 테더링 무제한 사용하기: SKT, KT, LG 통신사별 가이드 (2) | 2024.11.25 |
쉘이란? Shell 기본 개념 이해하기 (0) | 2024.04.30 |
컨테이너 이미지 이해하기: 애플리케이션 실행의 기본 (0) | 2024.04.26 |