为什么ln -s中的尾随斜线很重要?

时间:2012-09-03 04:11:22

标签: linux bash shell symlink

让我们说(假设)我想在桌面上创建一个符号链接到我的Documents文件夹。我会这样做:

cd ~/Desktop
ln -s ~/Documents

将在我的桌面上创建一个名为Documents的符号链接。

然而,当我这样做时(注意~/Documents之后的斜杠:

cd ~/Desktop
ln -s ~/Documents/

我明白了:

ln: ./: File exists

Howcome?为什么尾部斜线在这种情况下很重要,一般的尾部斜线是什么意思?

1 个答案:

答案 0 :(得分:2)

如评论中所述,尾部斜杠与应用程序有关。在我的系统(CentOS 5)上,两者都运行良好。

在这种情况下,我会说ln正在将~/Documents/解释为路径,并使用默认文件名.来引用当前目录,以获得{{的有效组合路径1}}。由于您没有指定目标链接的名称,因此它会选择与已存在的“指定”文件名~/Documents/.匹配的名称。

当我明确指定.时,我得到了类似的错误。

您可以通过指定要显式创建的链接的名称来解决此问题。 ~/Documents/.应该适合你。