在Ubuntu中创build目录的符号链接
下面是我创build一个目录的符号链接的代码:
sudo ln -s /usr/local/nginx/conf/ /etc/nginx
我已经创build了目录/etc/nginx
。 我只想将源目录(conf)的内容放在目标目录(nginx)的内容中。 但是当我执行代码时, /etc/nginx
包含一个名为“conf”的目录,而不是“conf”的内容。 该目录包含我想要的内容,但位置错误。
那么,为什么它把目录放在目标文件夹中,而不是把目录的内容放在目标文件夹中呢?
如果第二个参数是一个目录,这就是ln
的行为。 它放置一个链接到第一个参数里面 。 如果您希望/etc/nginx
成为符号链接,则应先删除该目录并运行相同的命令。
这就是当目标已经存在并且是一个目录时logging下来的事情。 如果你希望/etc/nginx
成为一个符号链接而不是包含一个符号链接,那么最好不要把它作为一个目录来创build!
在脚本是有用的是这样的:
if [ ! -d /etc/nginx ]; then ln -s /usr/local/nginx/conf/ /etc/nginx > /dev/null 2>&1; fi
它可以防止在重新运行脚本之前重新创build“坏”循环符号链接