我试图运行从一个目录递归符号链接到另一个:递归符号链接的目录树
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