为什么我的符号链接创建文件而不是文件夹?

时间:2013-07-27 03:59:39

标签: linux macos symlink

我想创建一个指向文件夹的符号链接。 follow命令将创建一个带有链接名称的文件,但我正在尝试链接到源文件夹。我做错了什么?

  

ln -s / Users / me / somefolder somefolder

这会在我当前目录中创建一个“somefolder”文件。如何创建指向文件夹及其内容的符号链接?

谢谢!

5 个答案:

答案 0 :(得分:1)

不创建目录是预期的行为。

当你这样做时

  ls -ali

它应该显示一些开头的东西;

  lrwxrwxrwx

其中“l”表示符号链接,允许您使用cd进行遍历。

注意: ln 命令在您提供无效的源路径时不会抱怨。当您尝试使用CD时,这将导致错误消息。

答案 1 :(得分:1)

您需要使用绝对路径名来创建链接。 例如,我现在在

$ pwd
/home/alex/my_folder

然后我要在我的pwd(当前工作目录)下的子目录中创建指向“ directoryA”文件夹的符号链接:

 $ ln -s $PWD/directoryA $PWD/temp/link_to_directoryA

在这种情况下,变量$PWD拥有我的工作目录的绝对路径。 您当然可以使用绝对路径,而不会像这样使用任何变量:

 $ ln -s /home/alex/my_folder/directoryA /home/alex/my_folder/temp/link_to_directoryA

答案 2 :(得分:0)

我认为你有你想要的东西,你只是不知道它。链接在目录中有一个条目,就像数据文件或目录一样。如果您在创建链接的目录中运行ls -l,则可以最清楚地看到这一点。

您可以将链接用作目录,例如:

$ cd somefolder

您可能还想知道,如果以这种方式更改目录,somefolder的父级将是包含该链接的目录。如果您不想这样,请使用:

$ cd -P somefolder

答案 3 :(得分:0)

您需要位于创建符号链接的目录中

例如:

  

cd / Users / me
  ln -s somefolder somefolderNewName

答案 4 :(得分:0)

晚会。 这就是对我有用的。

如果要创建从sourceFolder到destinationFolder的符号链接 这样做时,您应该位于destinationFolder“ parentOfDestinationFolder”的父级中。