微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

我有一种感觉,我已经知道这个答案,但我以为我会检查.

我有一些不同的文件夹:

images_a/
images_b/
images_c/

我可以创建一些符号链接,以便这个新目录具有所有这些目录的内容?那么这个新的“images_all”会包含images_a,images_b和images_c中的所有文件

不,你必须象征性地链接所有的单个文件.

你可以做的是创建一个定期运行的工作,它基本上删除了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

我没有测试过,所以执行它的人都必须确认是否适合.

原文地址:https://www.jb51.cc/bash/386615.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐