繁体   English   中英

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

[英]Why is my symbolic link creating a file and not a folder?

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

ln -s /Users/me/somefolder somefolder

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

谢谢!

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

$ pwd
/home/alex/my_folder

我正在我的密码(当前工作目录)下的子目录中创建一个指向文件夹“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 /用户/我
ln -s somefolder somefolderNewName

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

如果你想创建一个从 sourceFolder 到 destinationFolder 的符号链接,你应该在目标文件夹“parentOfDestinationFolder”的父目录中这样做。

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

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

$ cd somefolder

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

$ cd -P somefolder

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM