我有一种感觉,我已经知道这个答案,但我以为我会检查.
我有一些不同的文件夹:
images_a/ images_b/ images_c/
我可以创建一些符号链接,以便这个新目录具有所有这些目录的内容?那么这个新的“images_all”会包含images_a,images_b和images_c中的所有文件?
不,你必须象征性地链接所有的单个文件.
原文链接:https://www.f2er.com/bash/386615.html你可以做的是创建一个定期运行的工作,它基本上删除了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
我没有测试过,所以执行它的人都必须确认是否适合.