gpt4 book ai didi

unix - 我可以将多个目录符号链接(symbolic link)到一个目录中吗?

转载 作者:行者123 更新时间:2023-12-03 10:16:27 25 4
gpt4 key购买 nike

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

我有许多不同的文件夹:

images_a/
images_b/
images_c/

我可以创建某种符号链接(symbolic link),以便这个新目录包含所有这些目录的内容吗?也就是说,这个新的“ images_all”将包含 images_a 中的所有文件。 , images_bimages_c ?

最佳答案

不可以。您必须以符号方式链接所有单个文件。

您可以做的是创建一个定期运行的作业,它基本上删除了 images_all 中的所有现有符号链接(symbolic link)。 ,然后为其他三个目录中的所有文件重新创建链接,但这有点麻烦,如下所示:

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

我还没有测试过,所以任何实现它的人都必须确认适用性或其他方式。

关于unix - 我可以将多个目录符号链接(symbolic link)到一个目录中吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/423320/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com