如何创建指向 root 的符号链接

如何创建指向 root 的符号链接

我想创建一个指向/我主目录中的根 ( ) 文件夹的符号链接。但是如果我尝试这样做,我会得到

~$ ln -s /
ln: failed to create symbolic link './': File exists

当然,我可以使用 Nautilus Ctrl+来做到这一点,所以我知道这是可能的。D

如何使用终端进行操作?

答案1

您缺少链接的名称,它应该是:

cd ~
ln -s / root

然后会在你的主目录中创建一个名为 root 的符号链接。因此正确的用法是:

ln -s <target> <link-name>

您看到的错误消息是,该链接./始终存在,无法使用此名称创建链接,最好使用ln命令2使用两个参数来防止错误链接。

man ln

概要

(1st form) ln [OPTION]... [-T] TARGET LINK_NAME  
(2nd form) ln [OPTION]... TARGET  
(3rd form) ln [OPTION]... TARGET... DIRECTORY  
(4th form) ln [OPTION]... -t DIRECTORY TARGET...  

描述

在第一个表单中,创建一个链接至TARGET名字LINK_NAME. 在第二个表单中,创建一个链接至TARGET在当前目录中。在第 3 和第 4 个表单中,创建指向每个TARGETDIRECTORY. 默认创建硬链接,带有 的符号链接--symbolic。默认情况下,每个目标(新链接的名称)不应已经存在4.创建硬链接时,每个TARGET必须存在。符号链接可以保存任意文本;如果稍后解析,则相对链接将相对于其父目录进行解释。

长选项的强制参数对于短选项也是强制的。

选项

最后一个参数<link-name>默认为目标的最后一部分。因此,当目标是链接名称时,如果未指定,则/path/dir默认为。1例如,如果您使用创建,然后运行,则无法创建链接,因为名称/目录已经存在。3dir~/etcmkdir ~/etcln -s /etc~

您可以在主目录中看到创建的链接(此处仅作为示例,当然您可以随意命名):

$ ls -l ~/root
lrwxrwxrwx 1 videonauth videonauth 1 Dez 14 00:28 root -> /

1 感谢@thomasrutter指出这一点。2
请参阅man linkman symlink
3 感谢@steeldriver在评论中提供示例。4
强调 部分,使文本指出,因为它与问题相关。

相关内容