符号链接到现有目录


12

是否有链接一种合适的方式/home/user/app/public/home/user/public_html,考虑到目标已经存在的事实?

如果我这样做ln -s /home/user/app/public /home/user/public_html,我最终会拥有/home/user/public_html/public

我想也有可能颠倒诸如之类的动作ln -s /home/user/public_html /home/user/app/public,但是我不确定如何避免/home/user/app/public/public_html最终结果。

Answers:


13

Lemme以正确的方式了解您的问题

您的来源是/home/user/public_html,我认为其中有文件。您想在中直接链接到该目录/home/user/app/public。这样,您可以执行类似操作,ls /home/user/app/public然后查看上存在的文件/home/user/public_html

如果正确,则您的来源是/home/user/public_html,目标是/home/user/app/public。正确的命令是以下命令:

ln -s /home/user/public_html /home/user/app/public

只要确保/home/user/app/public不是有效的目录或文件,就输入命令。


3
这是一个古老的版本,但是我认为用户确实询问了如何执行您描述的操作,但是,在/ home / user / app / public可能已经存在的情况下(这恰恰是您在结尾处提到的警告)回答)。因此,恕我直言,这不能回答原始问题,因为用户想精确地知道如何处理一个已经存在的目标(即,如何用符号链接覆盖它,而不必在创建符号链接之前将其删除)。
jotadepicas

尝试-T选项:)
Milkmannetje

2

如果我正确理解了您的问题,那么您想知道如何处理已经存在的目标。如果真是这样,有两种可能的情况。

1)现有目标是一个文件。在这种情况下,您可以使用“ -f”强制创建符号链接

2)现有目标是一个目录。如果是这种情况,则取决于您当前对ln命令的实现。它可能具有“ -n”参数,这会导致正确处理目录的符号链接,而不是像您所说的那样复制它们。

参考:https : //unix.stackexchange.com/questions/207294/create-symlink-overwrite-if-one-exists


我想知道为什么不加评论地
投票
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.