심볼릭 링크 관련 고민..

relilau의 이미지

해커스쿨의 문제입니다. 해결은 했습니다만...

우선 level5라는 프로그램이 있습니다.
이 프로그램은 /tmp 디렉터리에 level5.tmp를 생성시키고 지우는 것을 합니다.

그럼 제가 봐야될 것은 level5.tmp의 내용인데
사람들은 이를 심볼릭 링크를 활용해서

# pwd
/tmp
# ln -s level6 level5.tmp
# /usr/bin/level5
# cat level6
쏼라쏼라쏼라

그런데 level6를 심볼릭 링크로 level5.tmp를 가리키게 해놨는데
궁금점1. 어떻게 존재하지 않던 level5.tmp를 level6이 가리키나요?
궁금점2. 분명 심볼릭 링크였는데 그럼 level5.tmp가 사라지면 level6는 제 기능을 하지 못할텐데 어떻게 level5.tmp가 사라진 후에도 level6에 내용이 보존되나요?

익명 사용자의 이미지

ln -s target linkname

이런 식으로 신택스가 정해져있는 것으로 알고 있습니다.

ln -s level6(target) level5.tmp(linkname)

그럼 level6에 원본 정보가 있고 level5.tmp가 심링크가 되죠.

level5.tmp를 지운 후에도 level6는 그대로겠고요.