Linux에서는 파일(file1)을 만들었습니다.
echo Hello file1 > file1
그런 다음 file1에 대한 심볼릭 링크(file2)를 만들었습니다.
ln -s file1 file2
그 후 file1을 삭제했습니다.
rm file1
마지막으로 file2를 다르게 편집했습니다.
echo Changed file2 > file2
이 모든 단계를 수행한 후 file1과 file2에 "Changed file2"가 포함되어 있음을 확인했습니다.
내가 이해한 바로는 file1을 삭제한 후 심볼릭 링크(file2)가 더 이상 작동하지 않습니다. 그러나 제가 대답하고 싶은 흥미로운 부분은 file2를 편집하면 file1이 복원된다는 것입니다(file1이 이전에 삭제되었음에도 불구하고).
귀중한 시간을 내주셔서 진심으로 감사드립니다.
답변1
file1
프로세스는 실제로 첫 번째 파일을 복원하지 않습니다. 대신, 실행할 때 생성됩니다 echo Changed file2 > file2
. file2
해당 시점에 존재하지 않는 파일에 대한 링크입니다 file1
. 기호 링크는 기존 파일을 가리킬 필요가 없습니다. 이는 기호 링크이기 때문에 시스템은 이를 구문 분석하고 명령 출력을 echo
로 리디렉션하고 file1
파일을 생성하며 가 file2
가리키는 위치에 기호 링크를 남겨 둡니다 file1
.