我試圖運行從一個目錄遞歸符號鏈接到另一個:遞歸符號鏈接的目錄樹
find data/* -type d -exec ln -s {} current/{} \;
多了一條:我需要從前綴剝離data/
。
在OS X服務器(10.8,Mountain Lion)上運行 - 不支持所有標準GNU命令,如cp -rs
。
我的意思遞歸:
data
是Laravel之間持久的目錄列表發佈:
data/
\ storage/
- framework/
- session/
- app/
\ logs/
他們需要映射到:
current/
\ storage/
- framework
- session/
- app/
- logs/
# Also in storage, but we do NOT want to persist
- debugbar/
- framework/
- cache/
- views/
我們data
目錄是意志在應用程序啓動之間持久存儲,因爲我們更新了我們的網站,同時在ev中保留了以前版本的網站回滾對象(current
恰好是最新版本的軟鏈接)。
注意:我們還有其他網站,而不是Laravel。 data
將成爲我們的標準,並且我們將根據站點對持久性的要求來重新匹配目錄重組。它並不總是data/storage
。
你能解釋一下「遞歸」是什麼意思嗎?一旦你創建了一個從'current/foo'到'data/foo'的鏈接(例如),它的所有子目錄就可以通過這個鏈接訪問了......你不需要做任何額外的事情。 – duskwuff
@duskwuff - 已經很明顯,不要遞歸。你可以簡單地'查找數據-maxdepth 1 -type d -exec ln -s ../ {} current \;' – alvits
@duskwuff:'data/foo/bar' =>'current/foo/bar','data/foo/bartwo/play' =>'current/foo/bartwo/play' – guice