소프트링크와 하드링크의 차이
소프트링크와 하드링크의 차이
1. 데이터 저장 방식
- 하드링크
원본 파일과 하드링크 간에는 동일한 Inode를 공유하며, 실제 데이터도 공유합니다.
원본 파일이나 하드링크 중 하나를 수정하면 나머지도 변경된 내용을 반영합니다.
단, 디렉터리 (폴더)에는 하드링크를 허용하지 않습니다!!!!!!!!
- 소프트링크
원본 파일과 소프트링크는 서로 다른 Inode를 가지며, 소프트링크 파일 자체에는 원본 파일의 경로 정보만 저장되어 있습니다. 실제 데이터는 공유되지 않으며, 소프트링크 파일이 원본 파일을 가리키기만 합니다.
2. 파일 속성
- 하드링크
원본 파일과 하드링크는 동일한 파일 권한 및 소유자 정보를 공유합니다.
둘 중 하나의 권한이나 소유자가 변경되면 나머지도 동일하게 변경됩니다.
- 소프트링크
소프트링크 파일은 원본 파일의 권한 및 소유자 정보를 공유하지 않습니다.
소프트링크 파일에 설정된 권한과 소유자 정보만 적용됩니다.
3. 경로 변경
- 하드링크
원본 파일의 경로가 변경되면 하드링크와는 무관하게 그대로 유지됩니다.
원본 파일과 하드링크 간의 경로 이동에 영향을 주지 않습니다.
하드 링크는 선택한 파일의 사본 역할을 한다고 보면 이해하기 쉽다.
그래서 원본 파일이 삭제되더라도 파일에 대한 하드 링크에는 여전히 해당 파일의 데이터가 포함되어 있어서 데이터에 액세스 할 수 있습니다.
- 소프트링크
원본 파일의 경로가 변경되면 소프트링크는 더 이상 해당 파일을 가리키지 않게 됩니다.
소프트링크가 가리키는 원본 파일이름이나 경로가 변경되면 끊어지게 됩니다.
4. 파일 삭제
- 하드링크
원본 파일이 삭제되더라도 하드링크가 남아있으면 데이터는 그대로 유지됩니다.
하드링크 자체가 독립적으로 파일 데이터를 가지고 있기 때문입니다.
- 소프트링크
원본 파일이 삭제되면 소프트링크는 더 이상 원본 파일을 가리키지 못하게 됩니다.
원본 파일이 없는 경우 소프트링크는 "깨진 링크"가 됩니다.
요약하자면, 하드링크는 원본 파일과 데이터를 공유하면서 모든 속성이 유지되는 반면, 소프트링크는 원본 파일의 경로만을 가리키며 다른 속성은 공유하지 않습니다. 또한 하드링크는 동일한 파일 시스템 내에서만 작동하며, 소프트링크는 다른 파일 시스템 사이에서도 사용할 수 있습니다.
https://ssoontory.tistory.com/383
https://ssoontory.tistory.com/382