2011-12-22 136 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 -> .. 
相關問題