有人可以告诉我是否有某种方法可以将一个目录“合并”到另一个目录中?
即让我拥有/some/directories/structure
子目录/文件。现在我想将它“植入”到/etc
例如中。即我需要将所有子目录/文件/some/directories/structure
添加到(不应替换当前内容/etc
)/etc
或其他目录中。
编辑:
好的。假设我有一个名为 的目录prog
。它包含几个配置文件。当我开发程序时,该目录存储在我的主目录中的某个位置,并且必须将其安装到/etc
工作系统中。现在我想调试我的程序,但要运行它,我需要prog
目录(存储在我的主目录中)可以在/etc
.所以我的问题是:我可以以某种“虚拟”方式执行此操作(即无需复制、移动、同步甚至链接到prog
)/etc
吗?也许有某种方法可以安装它,但是(再次)无需在/etc
.
对我来说,关键是:“不要忘记/etc
”中不需要的东西。
哦...我希望我的问题现在一切顺利。 :)
答案1
我也没有完全明白你想要的,说实话,这对我来说根本没有意义。但是当你谈论虚拟和坐骑时 - 我怀疑你正在考虑某个方向绑定挂载?!
Linux 绑定挂载
在 Linux 下,绑定挂载可作为内核功能使用。您可以通过传递 --bind 命令行选项或绑定安装选项,使用 mount 命令创建一个。以下两个命令是等效的:
# mount --bind /some/where /else/where
# mount -o bind /some/where /else/where
这里,“设备”/some/where 不是像磁盘文件系统那样的磁盘分区,而是现有的目录。挂载点 /else/where 必须像往常一样是现有目录。
请注意,无论哪种方式都没有指定文件系统类型:进行绑定挂载不涉及文件系统驱动程序,它从原始挂载复制内核数据结构。
答案2
不知道您的数据有多大,但您可以rsync
将数据从源移动到目的地。以下命令不会从您的目的地删除任何内容。
rsync -avz /some/directories/structure/ /etc/
以下命令将在您的目标目录中进行更改。
rsync -av --delete /some/directories/structure/ /etc/
/etc/
这将删除其中不存在的文件/some/directories/structure/
答案3
我不清楚你的意图,但也许你需要的是 /etc 中的符号链接。如果有,请咨询man ln
。
答案4
我会改变这个。您需要正在开发的代码来访问它认为是的目录中的某些配置文件/etc/
(并且可能是该目录中的子目录,尽管您不清楚)。
不要试图找到一种在文件系统级别伪造的方法,而是像许多其他应用程序一样提供可自定义的配置目录。
告诉您的应用程序配置文件存在于/home/user/prog/etc/
或中,/usr/local/etc/
并以这种方式进行调试。由于多种原因,硬编码配置目录是不好的。
一旦您可以更改代码查找配置的位置,您就可以根据需要进行尽可能多的测试,而无需任何访问权限,/etc/
我猜这是您遇到的根本问题。