[英]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.