为什么这个 Linux 符号链接不起作用?

为什么这个 Linux 符号链接不起作用?

logs我正在尝试为里面的文件创建一个到里面home/dir1/文件的符号链接。netlogshome/dir3/

链接已创建,但是当我尝试查看内容时netlogs收到以下错误消息:

13042432: -bash: cd: netlogs: No such file or directory

感谢您的帮助!

答案1

您的符号链接已损坏。使用 删除它rm netlogs。使用绝对路径重新创建它,如下所示:

ln -s /home/dir3/logs /home/dir1/netlogs

第一个参数是现有的真实文件或目录。

第二个参数是指向第一个参数的链接。

额外提示:

lrwxrwxrwx 1 joasia None 9 Dec 27 14:06 netlogs -> dir1/logs

表示netlogs -> dir1/logs是相对于当前目录netlogs的链接dir1/logs。这看起来是错误的,因为在您写的问题中,您想要链接到logs内部的home/dir3,而不是 中的dir1

答案2

您需要创建符号链接,其路径可以在任何地方使用,可以是绝对路径,例如

ln -s $HOME/dir3/logs $HOME/dir1/netlogs

或更好相对路径这将允许将上层目录移动到其他地方而不会破坏链接。

ln -s ../dir3/logs dir1/netlogs

相关内容