是否可以从脚本创建相对符号链接?

时间:2011-12-22 11:55:29

标签: linux scripting symlink

这个问题紧跟在这个问题上:Symlinks not working when link is made in another directory?

假设我有一个包含项目的目录,以及一个脚本,用于创建从项目目录的一个部分到另一个部分的符号链接。这些符号链接是否可能是相对的(非绝对的),即使脚本的位置完全在其他地方?

我有兴趣这样做,以便可以在不破坏其中的绝对链接的情况下移动项目目录。

2 个答案:

答案 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 -> ..