这个问题紧跟在这个问题上:Symlinks not working when link is made in another directory?
假设我有一个包含项目的目录,以及一个脚本,用于创建从项目目录的一个部分到另一个部分的符号链接。这些符号链接是否可能是相对的(非绝对的),即使脚本的位置完全在其他地方?
我有兴趣这样做,以便可以在不破坏其中的绝对链接的情况下移动项目目录。
答案 0 :(得分:3)
从脚本运行命令没有什么特别之处。你就是这样做的。
$ mkdir originals
$ echo "weird" > originals/original.txt
$ mkdir copies
$ ln -s ../originals/original.txt copies/copy.txt
$ cat copies/copy.txt
weird
请注意,在创建相对链接之前,您不必更改工作目录。符号链接将相对于链接,而不是相对于当前目录。
答案 1 :(得分:1)
编辑:
@MДΓΓБДLL正确指出您想要做的事情内置于ln
的功能中。 ln
的第一个参数将是创建链接时使用的目标值,无论它在何处创建。例如:
$ cd /
$ ln -s .. ~/testln
$ cd ~
$ ls -la testln
lrwxrwxrwx 1 xxxxx xxxxx 2 Dec 22 09:29 testln -> ..