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

前端之家收集整理的这篇文章主要介绍了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

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

猜你在找的Bash相关文章