我有一种感觉,我已经知道了这个问题的答案,但我想我会检查一下.
我有许多不同的文件夹:
images_a/ images_b/ images_c/
我可以创建某种符号链接,以便这个新目录具有所有这些目录的内容吗?那就是这个新的" images_all
"将包含所有文件images_a
,images_b
并且images_c
?
不可以.您必须象征性地链接所有单个文件.
你可以做的是创建一个定期运行的作业,基本上删除了所有现有的符号链接images_all
,然后从其他三个目录重新创建所有文件的链接,但它有点像kludge,如下所示:
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
我没有测试过,所以实现它的任何人都必须确认其适用性或其他方面.
您可以尝试像unionfs这样的联合文件系统!
http://www.filesystems.org/project-unionfs.html
http://aufs.sourceforge.net/