2011-12-22 81 views
3

这一个问题,在这一个的愈合:Symlinks not working when link is made in another directory?是否可以从脚本创建相对符号链接?

说我有一个包含项目的目录,并创建从项目目录到另一部分的一个部分符号链接的脚本。这些符号链接可能是相对的(不是绝对的),即使脚本的位置完全在其他地方吗?

我对这样做感兴趣,以便项目目录可以移动而不会破坏其中的绝对链接。

+0

@MДΓΓБДLL:OP不问如何创建相对链接,他问如何在另一个目录中创建相对链接。有一个区别。 – 2011-12-22 14:07:54

+1

没有区别。 – hop 2011-12-22 14:15:30

+0

@ user112358132134和区别是...? – 2011-12-22 14:21:12

回答

3

从脚本运行命令没有什么特别之处。你只是这样做。

$ mkdir originals 
$ echo "weird" > originals/original.txt 
$ mkdir copies 
$ ln -s ../originals/original.txt copies/copy.txt 
$ cat copies/copy.txt 
weird 

请注意,您不必在创建相对链接之前更改工作目录。符号链接将相对于链接,而不是相对于当前目录。

1

编辑:

@MДΓΓБДLL正确地指出,你想要做的是内置的ln功能。 ln的第一个参数将是链接创建时使用的目标值,无论它在哪里创建。例如:

$ cd/
$ ln -s .. ~/testln 
$ cd ~ 
$ ls -la testln 
lrwxrwxrwx 1 xxxxx xxxxx 2 Dec 22 09:29 testln -> ..