원본 파일을 복원하는 심볼릭 링크

원본 파일을 복원하는 심볼릭 링크

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.

관련 정보