gpt4 book ai didi

bash - 递归符号链接(symbolic link)目录树

转载 作者:行者123 更新时间:2023-12-05 01:01:30 24 4
gpt4 key购买 nike

我正在尝试将递归符号链接(symbolic link)从一个目录运行到另一个目录:

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 目录将是应用程序启动之间的持久存储,因为我们会更新我们的网站,同时在发生回滚时保留网站的先前版本(current 发生成为最新版本的软链接(soft link))。

注意:除了 Laravel,我们还有其他网站。 data 将成为我们的标准,我们将根据站点对持久性的要求来匹配目录重组。它并不总是 data/storage

最佳答案

您不需要进行任何递归。链接到目录后,可以通过该链接访问该目录下的所有文件和目录。

您需要的唯一链接是顶级目录……

cd current
ln -s ../data/*/ .

或者,根据您的要求,将 current 设为 data 的链接甚至可能就足够了。

关于bash - 递归符号链接(symbolic link)目录树,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44059472/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com