unix – 我可以将多个目录符号链接到一个吗?

我有一种感觉,我已经知道这个答案,但我以为我会检查.

我有一些不同的文件夹:

images_a/
images_b/
images_c/

我可以创建一些符号链接,以便这个新目录具有所有这些目录的内容?那么这个新的“images_all”会包含images_a,images_b和images_c中的所有文件

不,你必须象征性地链接所有的单个文件.

你可以做的是创建一个定期运行的工作,它基本上删除了image_all中的所有现有符号链接,然后从其他三个目录重新创建所有文件链接,但这是一个这样的一个垃圾

rm -f images_all/*
for i in images_[abc]/* ; do; ln -s $i images_all/$(basename $i) ; done

请注意,当此作业正在运行时,其他进程可能会显示文件已暂时消失.

您还需要注意两个或多个目录中存在单个文件名的情况.

一段时间后回到这个问题,我也发现,你可以尽量减少文件不可用的时间.

如果将它们链接到不同的目录,那么可以做相对较快的mv操作,这样可以减少时间.就像是:

mkdir images_new
for i in images_[abc]/* ; do
    ln -s $i images_new/$(basename $i)
done

# These next two commands are the minimal-time switchover.
mv images_all images_old
mv images_new images_all

rm -rf images_old

我没有测试过,所以执行它的人都必须确认是否适合.

相关文章

用的openwrt路由器,家里宽带申请了动态公网ip,为了方便把2...
#!/bin/bashcommand1&command2&wait从Shell脚本并行...
1.先查出MAMP下面集成的PHP版本cd/Applications/MAMP/bin/ph...
1、先输入locale-a,查看一下现在已安装的语言2、若不存在如...
BashPerlTclsyntaxdiff1.进制数表示Languagebinaryoctalhexa...
正常安装了k8s后,使用kubect工具后接的命令不能直接tab补全...