我有一种感觉,我已经知道这个答案,但我想我会检查。我可以将多个目录符号链接成一个吗?
我有一些不同的文件夹:
images_a/
images_b/
images_c/
我可以建立某种形式的符号链接,使得这个新目录拥有所有这些目录的内容?这是新的“images_all
”将包含所有的文件在images_a
,images_b
和images_c
?
我有一种感觉,我已经知道这个答案,但我想我会检查。我可以将多个目录符号链接成一个吗?
我有一些不同的文件夹:
images_a/
images_b/
images_c/
我可以建立某种形式的符号链接,使得这个新目录拥有所有这些目录的内容?这是新的“images_all
”将包含所有的文件在images_a
,images_b
和images_c
?
不需要。您必须以符号方式链接所有单个文件。
你可能做的是什么来创建一个作业,以定期运行基本上除去了所有在images_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 2009-01-08 05:22:58
你可以用`lndir`做符号链接。 – 2010-01-27 07:29:43