将文件夹动态符号链接到其他文件夹的正确方式



我有一个文件夹,其中包含我的应用程序。然后,我在另一个名为"站点"的目录中有一个灵活数量的文件夹。它看起来像这样:

+ -Application
+ -- Test.html
+ -- CSS
+ --- Style.css
+ -Sites 
+ --Site1
+ --Site2

我想将应用程序文件夹中的所有文件符号链接到站点文件夹下的每个文件夹中。因此,最终结果看起来是这样的:

+ -Sites 
+ --Site1
+ -- Test.html
+ -- CSS
+ --- Style.css
+ --Site2
+ -- Test.html
+ -- CSS
+ --- Style.css

因此,我认为第一步是对"站点"文件夹中的所有文件夹进行循环,然后对文件夹中的每个文件夹执行符号链接。我真的不会编码,但从我的阅读来看,这样的东西可能是一个起点吗?

find ./* -type d |
while read LINE
do
echo ln -s /absolute/path/to/files/* "$LINE"
done
for dir in Sites/*; do
cd "$dir" && ln -s ../../Application/* . && cd -
done

它非常简单直观。你可以让它进入每个网站并执行:

ln -s ../../Application/* .

您可以使用AWK(从根目录)为所有"站点"运行它:

ls -l | awk '$1 ~ /d.*/ && $NF !~ /Application/ && NF > 5 {system("cd "$NF" ; ln -s ../../Application/* .");}' -

描述:列出文件,获取目录(/d.*/),忽略应用程序文件夹,转到每个文件夹(cd$NF)并执行"魔术线"。

相关内容

最新更新