我正在尝试创建如下符号链接
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/