2011-09-17 69 views
3

在linux或freebsd中,是否有將文件夾及其子文件夾下的所有文件複製爲符號鏈接的方法?我需要將數千個文件作爲符號鏈接複製到不同的位置,並且只有2-3個配置文件作爲實際文件。我這樣做的原因是,我有十幾個具有完全相同引擎代碼但配置和外觀不同的網站。我想將引擎複製爲符號鏈接,因此每次對原始文件進行的更改都會應用到其他網站。 我無法制作符號鏈接到引擎文件夾本身,因爲配置文件在該文件夾下,並且我無法一個一個地複製文件!顯然這不切合實際。 有什麼建議嗎?如何在文件夾及其子文件夾下以遞歸方式複製文件作爲符號鏈接

+0

如果你想符號鏈接,你不需要做遞歸。你可以鏈接最頂層的子目錄。 – Kent

回答

8

您正在查找的命令是cp -rs /path/to/source dest

請注意,您需要提供源目錄的完整路徑,以便它可以創建絕對符號鏈接。

+0

我嘗試過 - 但它沒有奏效。我得到cp:非法選項 - s。 – Tohid

+0

看來FreeBSD沒有這個選項:(但你是對的!它可以在Linux上運行 – Tohid

1

我不知道這是否是你想要什麼:(見下例)

dir one is your central "engine" 
dir two is one of your website. 

[email protected]:/tmp$ tree one two 
one 
|-- 1.txt 
|-- 2.txt 
|-- 3.txt 
|-- 4.txt 
|-- 5.txt 
|-- dirA 
| |-- a 
| |-- b 
| `-- c 
|-- dirB 
`-- dirC 
two 
|-- myConf_a.conf 
|-- myConf_b.conf 
|-- myConf_c.conf 
|-- myConf_d.conf 
`-- myConf_e.conf 

[email protected]:/tmp$ ln -s /tmp/one/* /tmp/two/. 

kent$ tree -l /tmp/two 
/tmp/two 
|-- 1.txt -> /tmp/one/1.txt 
|-- 2.txt -> /tmp/one/2.txt 
|-- 3.txt -> /tmp/one/3.txt 
|-- 4.txt -> /tmp/one/4.txt 
|-- 5.txt -> /tmp/one/5.txt 
|-- dirA -> /tmp/one/dirA 
| |-- a 
| |-- b 
| `-- c 
|-- dirB -> /tmp/one/dirB 
|-- dirC -> /tmp/one/dirC 
|-- myConf_a.conf 
|-- myConf_b.conf 
|-- myConf_c.conf 
|-- myConf_d.conf 
`-- myConf_e.conf  
相關問題