我想在Linux中创建一个符号链接。我编写了这个Bash命令,其中第一个路径是我想要链接到的文件夹,第二个路径是编译的源代码。
ln -s '+basebuild+'/IpDome-kernel/kernel /home/build/sandbox/gen2/basebuild/IpDome-kernel/kernal
这是正确的吗?
我想在Linux中创建一个符号链接。我编写了这个Bash命令,其中第一个路径是我想要链接到的文件夹,第二个路径是编译的源代码。
ln -s '+basebuild+'/IpDome-kernel/kernel /home/build/sandbox/gen2/basebuild/IpDome-kernel/kernal
这是正确的吗?
当前回答
有两种类型的链接:
符号链接:指指示另一个文件的抽象位置的符号路径
硬链接:指物理数据的特定位置。
在您的案例中,符号链接:
ln -s source target
你可以参考http://man7.org/linux/man-pages/man7/symlink.7.html
你可以创建太硬的链接
文件的硬链接与原始目录条目无法区分;对文件的任何更改实际上都与用于引用文件的名称无关。硬链接通常不指目录,也可能不跨越文件系统。
ln source link
其他回答
我想介绍一个更简单的英文版本的描述。
ln -s /path-text/of-symbolic-link /path/to/file-to-hold-that-text
“ln”命令创建一个链接FILE,“-s”指定链接类型为符号。符号链接文件的示例可以在WINE安装中找到(使用“ls-la”显示一行目录内容):
lrwxrwxrwx 1 me power 11 Jan 1 00:01 a: -> /mnt/floppy
标准文件信息在左边(尽管注意第一个字符是“链接”的“l”);文件名为“a:”,“->”也表示该文件是一个链接。它基本上告诉了WINE Windows“驱动器A:”如何与Linux中的软盘驱动器相关联。要实际创建一个符号链接SIMILAR(在当前目录中,并为WINE实际创建此链接更为复杂;请使用“winecfg”实用程序):
ln -s /mnt/floppy a: //will not work if file a: already exists
ln -s target linkName
您可以在此处查看手册页:
http://linux.die.net/man/1/ln
(因为一张ASCII图片值一千个字符。)
箭头可能是一种有用的助记符,尤其是因为在Emacs的目录中,箭头几乎就是这样的。
而且要有大局观,这样你就不会与Windows版本混淆
Linux:
ln -s target <- linkName
窗户:
mklink linkName -> target
您也可以将这些视为
ln -s "to-here" <- "from-here"
mklink "from-here" -> "to-here"
from here应该还不存在,它将被创建,而to here应该已经存在(IIRC)。
(我总是搞不清楚各种命令和参数是应该涉及预先存在的位置,还是应该生成的位置。)
编辑:对我来说,它仍在慢慢下沉;我还有另外一种方式写笔记。
ln -s (target exists) (link is made)
mklink (link is made) (target exists)
ln -s TARGET LINK_NAME
其中-s使其具有象征意义。
有两种类型的链接:
符号链接:指指示另一个文件的抽象位置的符号路径
硬链接:指物理数据的特定位置。
在您的案例中,符号链接:
ln -s source target
你可以参考http://man7.org/linux/man-pages/man7/symlink.7.html
你可以创建太硬的链接
文件的硬链接与原始目录条目无法区分;对文件的任何更改实际上都与用于引用文件的名称无关。硬链接通常不指目录,也可能不跨越文件系统。
ln source link