我想在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
这是正确的吗?
当前回答
如何在流浪汉中创建符号链接。步骤:
在流浪文件中创建一个同步文件夹。例如config.vm.synced_folder“F:/Sunburst/source/Sunburst/lms”,“/source”F: /Sunburst/source/Sunburst/lms:-其中源代码,/source:-游民内部的目录路径模糊起来,键入流浪ssh并转到源目录,例如cd-source验证源代码文件夹结构在源目录中是否可用。例如/源/本地然后转到与浏览器关联的文件所在的客户机目录。获取文件备份后。例如sudo mv本地local_bk然后创建符号链接,例如sudo ln-s/source/local local。本地平均链接名(要链接的来宾计算机中的文件夹名)如果需要删除符号链接:-键入sudo rm local
其他回答
要创建新的符号链接(如果符号链接已存在,将失败):
ln -s /path/to/file /path/to/symlink
要创建或更新符号链接,请执行以下操作:
ln -sf /path/to/file /path/to/symlink
这是堆栈溢出,所以我假设您需要代码:
以下所有代码都假定您希望创建一个名为/tmp/link的符号链接,该链接链接到/tmp/realfile。
注意:虽然此代码检查错误,但它不会检查/tmp/realfile是否确实存在!这是因为死链接仍然有效,根据您的代码,您可能(很少)希望在真实文件之前创建链接。
外壳(bash、zsh…)
#!/bin/sh
ln -s /tmp/realfile /tmp/link
非常简单,就像您在命令行(即shell)上做的那样。所有错误处理都由shell解释器完成。这段代码假设您在/bin/sh有一个工作的shell解释器。
如果需要,您仍然可以使用$?变量,只有在成功创建链接时才会设置为0。
C和C++
#include <unistd.h>
#include <stdio.h>
int main () {
if( symlink("/tmp/realfile", "/tmp/link") != 0 )
perror("Can't create the symlink");
}
symlink仅在可以创建链接时返回0。在其他情况下,我使用perror来讲述更多的问题。
Perl
#!/usr/bin/perl
if( symlink("/tmp/realfile", "/tmp/link") != 1) {
print STDERR "Can't create the symlink: $!\n"
}
这段代码假设您在/usr/bin/perl上有一个perl5解释器。如果可以创建链接,symlink只返回1。在其他情况下,我会将失败原因打印到标准错误输出中。
我想介绍一个更简单的英文版本的描述。
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
我发现男人信息中的术语“目标”和“目录”有点混淆。
目标是我们要符号链接到的文件夹和实际符号链接的目录(而不是您要符号链接的文件夹),如果有人遇到同样的困惑,不要感到孤独。
这是我对创建Symlink(在linux中)的解释:
ln -s /FULL/PATH/FOLDER-OR-FILE-SYMLINKING-TO NAME-OF-YOUR-SYMLINK
您可以导航到要创建符号链接的文件夹并运行命令,或者为符号链接指定FULL PATH,而不是NAME-of-your-symlink。
cd /FULL/PATH/TO/MY-SYMLINK-PARENT-FOLDER
ln -s /FULL/PATH/FOLDER-OR-FILE-SYMLINKING-TO NAME-OF-YOUR-SYMLINK
OR
ln -s /FULL/PATH/FOLDER-OR-FILE-SYMLINKING-TO /FULL/PATH/TO/MY-SYMLINK-PARENT-FOLDER/NAME-OF-YOUR-SYMLINK
我希望这对那些(仍然)有点困惑的人有所帮助。
有两种类型的链接:
符号链接:指指示另一个文件的抽象位置的符号路径
硬链接:指物理数据的特定位置。
在您的案例中,符号链接:
ln -s source target
你可以参考http://man7.org/linux/man-pages/man7/symlink.7.html
你可以创建太硬的链接
文件的硬链接与原始目录条目无法区分;对文件的任何更改实际上都与用于引用文件的名称无关。硬链接通常不指目录,也可能不跨越文件系统。
ln source link