我想在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 '+basebuild+'/IpDome-kernel/kernel /home/build/sandbox/gen2/basebuild/IpDome-kernel/kernal'
这确实会从文件/目录创建一个符号链接(-s):
<basebuild>/IpDome-kernel/kernel
到您的新链接
/home/build/sandbox/gen2/basebuild/IpDome-kernel/kernal
以下是一些帮助您记住的方法:
首先,这是ln的手册页。你可以通过在谷歌中搜索“man ln”来访问它,或者只需打开一个终端窗口并键入man ln,你就会得到相同的信息。手册页明确说明:
ln[选项]。。。[-T]TARGET LINK_NAME(第一种格式)
如果每次都要搜索或阅读手册页不适合你,也许你会更容易记住所有nix命令的工作方式:
cp /file/that/exists /location/for/new/file
mv /file/that/exists /location/its/moving/to
ln /file/that/exists /the/new/link
cp将当前存在的文件(第一个参数)复制到新文件(第二个参数)。mv将当前存在的文件(第一个参数)移动到新位置(第二个参数)同样,ln将当前存在的文件(第一个参数)链接到新链接(第二个参数)*
我想建议的最后一个选项是,您可以创建自己的手册页,这些手册页易于阅读,并且易于查找/记忆。只需制作一个简单的shell脚本,即可提供所需的提示。例如♦:
在.bash_aliases文件中,可以放置以下内容:
commandsfx() {
echo "Symlink: ln -s /path/to/file /path/to/symlink"
echo "Copy: cp /file/to/copy /destination/to/send/copy"
}
alias 'cmds'=commandsfx
然后,当您需要时,只需在命令行中键入cmds,就可以以快速阅读和理解的方式返回正确的语法。您可以使这些函数尽可能高级,以获得所需的信息,这取决于您。你甚至可以让它们交互,所以你只需要按照提示操作。。类似于:
makesymlink() {
echo "Symlink name:"
read sym
echo "File to link to:"
read fil
ln -s $fil $sym
}
alias 'symlink'=makesymlink
*-很明显,它们都可以采用不同的参数,做不同的事情,可以处理文件和目录。。。但前提是一样的♦ - 使用bashshell的示例
其他回答
要创建新的符号链接(如果符号链接已存在,将失败):
ln -s /path/to/file /path/to/symlink
要创建或更新符号链接,请执行以下操作:
ln -sf /path/to/file /path/to/symlink
如何在流浪汉中创建符号链接。步骤:
在流浪文件中创建一个同步文件夹。例如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
链接基本上有两种类型:
符号链接(软):指向指示另一文件抽象位置的符号路径的链接
硬链接:链接到物理数据的特定位置。
示例1:
ln /root/file1 /root/file2
以上是一个硬链接的示例,您可以在其中获得物理数据的副本。
示例2:
ln -s /path/to/file1.txt /path/to/file2.txt
上述命令将创建到file1.text的符号链接。
如果你删除了源文件,那么你就不会有任何东西指向目标了。
当您这样做时:
ls-lai公司
您将看到符号链接有一个不同的inode编号。
有关详细信息,您可以阅读Linux操作系统上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)
在Linux上创建符号链接或软链接:
打开Bash提示符并键入下面提到的命令以创建文件的符号链接:
A) 转到要创建软链接的文件夹,然后按如下所述键入命令:
$ ln -s (path-to-file) (symbolic-link-to-file)
$ ln -s /home/user/file new-file
B) 转到新文件名路径并键入:
$ls-lrt(查看新文件是否链接到该文件)
例子:
user@user-DT:[~/Desktop/soft]# ln -s /home/user/Desktop/soft/File_B /home/user/Desktop/soft/File_C
user@user-DT:[~/Desktop/soft]# ls -lrt
total 0
-rw-rw-r-- 1 user user 0 Dec 27 16:51 File_B
-rw-rw-r-- 1 user user 0 Dec 27 16:51 File_A
lrwxrwxrwx 1 user user 31 Dec 27 16:53 File_C -> /home/user/Desktop/soft/File_B
Note: Where, File_C -> /home/user/Desktop/soft/File_B Means, File_C is symbolically linked to File_B