如何为目录创建符号链接

如何为目录创建符号链接

我正在尝试创建如下符号链接

ln -s /home/scripts/logs  /home/log 

/home/log 目录已存在,无法删除。当我这样做时,它会创建符号链接为 /home/log/logs 。我知道,如果目标是一个目录并且它已经存在,ln -s则会在目标目录内创建源的子文件夹。但我只希望源目录(/home/scripts/logs/"test_contents")的内容位于目标(/home/log/"test_contents")中。我们是否为此提供了任何解决方案 注意:我无法删除包含其他应用程序日志的 /home/logs

答案1

你的ln -s命令是相反的。第一个操作数是您希望链接指向的位置,第二个操作数是您想要调用的符号链接本身。

您可以记住命令中操作数的顺序ln -s this here并将其读作“Take并为其创建符号链接这里”(就像mv this here“采取并移动它这里“, ETC。)

命令

ln -s /home/logs /home/scripts/logs

/home/scripts/logs将创建指向的符号链接/home/logs(假设/home/scripts/logs尚不存在)。

在现实生活中,您可能不使用目录直接地但在下面/home,所以你可能真的想要

ln -s "$HOME/logs" "$HOME/scripts/logs"

...或类似的东西。

答案2

看来你想符号链接文件在您的目录中,而不是目录本身。那么你可能想要这个:

ln -s /home/scripts/logs/*  /home/log/

相关内容