Centos 当目录已存在时进行符号链接

Centos 当目录已存在时进行符号链接,centos,symlink,Centos,Symlink,我们已经在我们的web服务器上添加了NFS共享,需要设置一个符号链接-但是,我们不确定在目录已经存在的情况下如何执行此操作 Webserver directory : /home/example/public_html/images NFS target : /nfsshare 我们想要一个来自/home/example/public\u html/images->/nfsshare的符号链接 NFS共享有一个/home/example/public_html/images中所有内容的

我们已经在我们的web服务器上添加了NFS共享,需要设置一个符号链接-但是,我们不确定在目录已经存在的情况下如何执行此操作

Webserver directory : /home/example/public_html/images    
NFS target : /nfsshare
我们想要一个来自/home/example/public\u html/images->/nfsshare的符号链接

NFS共享有一个/home/example/public_html/images中所有内容的最新副本,我们希望在有人访问或引用html中的/images/123.jpg(例如,它显示文件/nfsshare/123.jpg)时使用它

当我们创建符号链接时

ln -s /nfsshare /home/example/public_html/images/ 
它似乎工作正常,但当我们浏览到/images时,它仍然显示原始内容,并且nfsshare文件夹位于images文件夹中

[root@host01 images]# ls
index.html  nfsshare  image.png

当您想将文件夹指向其他位置而不是当前位置时,还有其他方法吗?

符号链接的目的是创建指向现有文件夹或文件的虚拟文件夹或文件。但当文件夹或文件已经存在时,您不能创建它——更准确地说,当物理目录已经存在时,您不能创建虚拟文件夹符号链接

Webserver directory : /home/example/public_html/images    
NFS target : /nfsshare
。。。如果我理解正确,您已经有了一个/home/example/public\u html/images目录。你不能两者兼得;您需要删除或重命名现有的web服务器目录

另一方面,符号链接是在文件夹内创建的,因为您将现有文件夹名称指定为目标

更新:
假设服务器上有一组健全的权限,您可能需要以root用户身份或使用sudo来执行此操作。您可能还应该验证NFS文件夹上的权限是否将您的web应用程序限制为只读访问。

此问题最好在上询问或确定。因此,如果重命名现有文件夹,然后使用上述命令执行符号链接,则应能按预期工作?是。但我不确定你想达到什么目的。如果文件夹中已经包含您想要的图像,为什么需要符号链接?另一个问题是,是否有另一个进程正在更新此文件夹。。。使用符号链接后,您可能会覆盖/nfsshare中的文件,我猜你不会想要的。目前我们有一台本地带有图像的web服务器-我们正在将其移动到nfs,这样我们就可以在两台web服务器之间共享图像文件夹,但不想更新任何现有代码以将图像指向不同的目录名。在这种情况下,听起来现有文件夹是多余的,你应该可以安全地重命名。