11

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

ln -s /Users/me/somefolder somefolder

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

谢谢!

4

5 回答 5

12

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

$ 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
于 2018-06-28T19:03:04.060 回答
1

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

当你这样做

  ls -ali

它应该显示以;开头的东西;

  lrwxrwxrwx

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

注意:当您提供无效的源路径时, ln命令不会报错。当您尝试 cd 时,这将导致错误消息。

于 2013-07-27T04:12:27.673 回答
1

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

例如:

cd /Users/me
ln -s somefolder somefolderNewName

于 2019-05-08T10:01:33.780 回答
1

聚会迟到了..这对我有用..

如果要创建从 sourceFolder 到destinationFolder 的符号链接,则在执行此操作时应该位于destinationFolder "parentOfDestinationFolder" 的父级内。

于 2020-05-23T04:26:37.313 回答
0

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

您可以像使用目录一样使用链接,例如:

$ cd somefolder

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

$ cd -P somefolder
于 2013-07-27T04:13:47.933 回答