如何让多个目录在 Linux 上对用户来说显示为一个?

如何让多个目录在 Linux 上对用户来说显示为一个?

我在 Linux(Red Hat)系统上有三个目录。例如 /usr/local/one、/usr/local/two 和 /usr/local/three。我希望有一种机制,其行为类似于目录,将 one、two 和 three 的内容合并到 /opt/oneTwoThree 中,而无需物理移动它们的文件内容。

IE..

$ find /usr/local/
/usr/local/one
/usr/local/one/aaa
/usr/local/one/bbb
/usr/local/three
/usr/local/three/fff
/usr/local/two
/usr/local/two/ccc
/usr/local/two/ddd
/usr/local/two/eee

$ find /opt/oneTwoThree
/usr/local/oneTwoThree
/usr/local/oneTwoThree/aaa
/usr/local/oneTwoThree/bbb
/usr/local/oneTwoThree/fff
/usr/local/oneTwoThree/ccc
/usr/local/oneTwoThree/ddd
/usr/local/oneTwoThree/eee

答案1

您可以使用联合金融服务似乎正在积极开发,或者在目录被硬盘分开的情况下,微波辐射防护系统,但我发现关于最后一个的引用较少。

编辑:有一个维基百科文章更多关于 UnionFS 的信息

答案2

如果目录内容大部分是静态的,您可以使用符号链接来实现,即将三个目录中的每个文件符号链接到第四个目录。

答案3

对于偶然发现这个老问题的任何人来说,Inotify 可用于监视目录并自动创建链接。

答案4

几年前,我遇到过类似的问题(想将开源内容安装到单独的目录中 - 类似于今天使用的 /opt/* 方案 - 但不必不断更新 $PATH)

对我来说,解决方案是使用 CMU 仓库自动创建和维护 /usr/local/* 层次结构,该层次结构包含使用链接和/或符号链接的所有 /opt 类内容。

相关内容