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

Unix 我可以将多个目录符号链接到一个目录中吗?,unix,symlink,Unix,Symlink,我有一种感觉,我已经知道了这个问题的答案,但我想我会检查一下 我有许多不同的文件夹: images_a/ images_b/ images_c/ 我可以创建某种符号链接,使这个新目录包含所有这些目录的内容吗?也就是说,这个新的“images\u all”将包含images\u a、images\u b和images\u c中的所有文件。您必须以符号方式链接所有单独的文件 您可以做的是创建一个定期运行的作业,该作业基本上删除了images\u all中所有现有的符号链接,然后为其他三个目录中的所

我有一种感觉,我已经知道了这个问题的答案,但我想我会检查一下

我有许多不同的文件夹:

images_a/
images_b/
images_c/

我可以创建某种符号链接,使这个新目录包含所有这些目录的内容吗?也就是说,这个新的“
images\u all
”将包含
images\u a
images\u b
images\u c
中的所有文件。您必须以符号方式链接所有单独的文件

您可以做的是创建一个定期运行的作业,该作业基本上删除了
images\u 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

我还没有测试过它,所以任何实现它的人都必须确认它是否合适。

您可以尝试像unionfs这样的联合文件系统


要补充paxdiablo的伟大答案,我认为您可以使用cp-s
(-s或——符号链接) 这使得符号链接而不是文字复制

为了加快或简化进程,可以将符号链接批量添加到“合并”文件夹A,其中包括文件夹B和C中的文件

(不过我还没有测试过)


我记不起我的头顶了,但我确信CP有一些不覆盖现有文件的选项,因此只有新文件的符号链接将被“CP-s”ed

,而“仍处于开发阶段”这句话甚至让最勇敢的灵魂都感到恐惧:-)。
aufs
在Ubuntu中已经使用了一段时间,因此,它可能足够稳定。您可以使用
lndir
进行符号链接。