• 카테고리

    질문 & 답변
  • 세부 분야

    시스템

  • 해결 여부

    미해결

하드링크 및 소프트링크 관련 질문드립니다.

19.09.15 21:17 작성 조회수 88

1

안녕하세요.

원본파일 hello 와 하드링크 파일인 hard 그리고 소프트링크 파일인 soft 가 존재하는 상황에서

원본파일인 hello 파일을 삭제했다고 가정합니다.

여기서 의문점이 하나 생겼는데, hello 가 지워졌다고 하더라도, hard 에 의해서 원본 데이터는 디스크상에 보존이 되고 soft 의 inode 값은 별도로 관리가 되는데,

이런 경우 원본파일이 삭제되더라고 soft 파일은 디스크상의 파일을 가리켜야 하는게 맞지 않는건가요~?

답변 부탁드립니다. 감사합니다~

답변 1

답변을 작성해보세요.

0

소프트링크 파일은 대상 파일의 inode를 가리키고 있는 것이 아니라 대상 파일의 경로를 저장하고 있습니다. 따라서 soft 파일이 "hello"를 가리키고 있었는지, "hard"를 가리키고 있었는지에 따라 다른 상황이 연출됩니다.

soft가 "hello"를 가리키고 있는 상태에서 "hello"를 삭제하면 soft 파일은 존재하지 않는 파일을 가리키고 있는 상태가 됩니다. 이 경우 "hard" 파일은 그대로 남아있으므로 "hard"의 내용은 디스크에 그대로 저장되어 있습니다.

soft가 "hard"를 가리키고 있는 상태에서 "hello"를 삭제하면 soft는 그대로 "hard"를 가리키고 있는 정상 소프트링크 파일로 남아있습니다(변화가 없죠). 역시 "hard"파일이 그대로 남아있기 때문에 "hard"의 내용은 디스크에 그대로 저장되어 있습니다.

아마도 소프트링크가 대상 파일의 inode를 가리키고 있다고 잘못이해하신 부분 때문에 생긴 궁금증이 아닐까 싶네요. 추가 질문 있으시면 게시판에 남겨주세요~ :)