14

我试图创建一个指向不存在的文件的符号链接

ln -s non_existing_file.txt   $HOME/dir1/dir2/my_symbolic_link

然后我尝试使用符号链接在不存在的文件中写一些东西

vi $HOME/dir1/dir2/my_symbolic_link

现在保存并退出后 non_existing_file.txt 在 dir2 下创建。

有人可以解释为什么吗?

4

1 回答 1

8
ln -s target linkpath

创建一个linkpath包含 name的符号链接target。符号链接上的操作解释target相对于符号链接所在目录的名称,而不是当前工作目录。

所以,如果你有一个符号链接,比如说../usrin /tmp/link-to-usr,那么无论命令在哪里执行,ls /tmp/link-to-usr都会列出/usr(which is ) 的内容。/tmp/../usrls

于 2013-05-29T09:30:46.500 回答