我尝试ln
在目录中调用~/download
如下内容:
ln -s ./abc ~/abc [EDITED]
但它不起作用。
我ls -al
在家里这样做,但得到的是错误的链接abc
。
ln [OPTION]... [-T] TARGET LINK_NAME (1st form)
所以我的问题是:ln
需要目标的完整路径吗?我在页面中没有找到任何文档或提示man
。如果需要,我可以在哪里获得更多信息。
答案1
这很简单:你创建一个~
指向的符号链接./abc
在那个目录中。符号链接的路径名必须在其所在目录的上下文中有效¹。如果您确实想指向您現在目录,必须使用完整路径。
- 如果您想使用链接,则链接必须是有效的。它可以指向虚无或不存在的文件。这可能是一件好事,因为该文件可能以前存在,并且随时可能重新出现,然后符号链接将再次指向它。
答案2
ln
可以采用绝对路径名或相对路径名;对于符号链接来说,区别很重要,但由于您要求建立硬链接,因此无论哪种方式它都会解析为同一个文件。
检查ls -li
输出~/abc
——~/download/abc
您将看到两个文件的链接数2
和 inode 编号相同。