符号链接恢复原始文件

符号链接恢复原始文件

在 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 > file2file2是一个指向当时不存在的文件的链接file1;符号链接不必指向现有文件。因为它是一个符号链接,所以系统解析它并将命令的输出重定向echofile1,创建该文件,并将file2符号链接保留在指向 的位置file1

相关内容