我想创建一个指向文件夹的符号链接。以下命令将创建一个带有链接名称的文件,但我正在尝试链接到源文件夹。我究竟做错了什么?
ln -s /Users/me/somefolder somefolder
这会在我的当前目录中创建一个文件“somefolder”。如何创建指向文件夹及其内容的符号链接?
谢谢!
您需要使用绝对路径名来创建链接。例如,我现在在
$ 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
不创建目录是预期的行为。
当你这样做
ls -ali
它应该显示以;开头的东西;
lrwxrwxrwx
其中“l”代表符号链接,允许您使用 cd 遍历。
注意:当您提供无效的源路径时, ln命令不会报错。当您尝试 cd 时,这将导致错误消息。
您需要位于创建符号链接的同一目录中
例如:
cd /Users/me
ln -s somefolder somefolderNewName
聚会迟到了..这对我有用..
如果要创建从 sourceFolder 到destinationFolder 的符号链接,则在执行此操作时应该位于destinationFolder "parentOfDestinationFolder" 的父级内。
我想你有你想要的,只是你不知道而已。链接在目录中有一个条目,就像数据文件或目录一样。ls -l
如果您在创建链接的目录中运行,您可以最清楚地看到这一点。
您可以像使用目录一样使用链接,例如:
$ cd somefolder
您可能还想知道,如果您以这种方式更改目录,则 somefolder 的父级将是包含链接的目录。如果您不希望这样,请使用:
$ cd -P somefolder