我有以下目录树
/
|-- server
| |-- cstrike
| | | |-- hltv -> ../../hltv
| |-- [other files]
|-- 27015
| |-- hltv
| |-- server -> ../server
|-- 27016
| |-- hltv
| |-- server -> ../server
- 我想要
27015/server
并27016/server
被链接到/server
. - 另外,我希望
27015/server/cstrike/hltv
被链接到27015/hltv
并且类似地
27016/server/cstrike/hltv
被链接到27016/hltv
。
正如您已经假设的2701{5,6}/server/cstrike/hltv
点/hltv
不存在一样。
如果没有,您能建议我应该使用哪个工具吗ln
?/server
是目录,而不是设备,所以我想mount
在这种情况下不是一个选项。
删除
/2701x/server
符号链接;在其位置创建文件夹;用于设置每个 的“绑定安装” 。mount -o bind
/server
/2701x/server
用于
findmnt
查看您已设置的挂载,并确保将挂载添加到 /etc/fstab 中,以便它们在重新启动后保持可用。链接目标始终相对于链接的“物理”位置,而不是相对于“逻辑”位置。换句话说,只有在解析了路径中所有先前的符号链接后,才会解析链接目标。另一方面,挂载(包括绑定挂载)在不同级别工作,并且对符号链接解析代码“不可见”;绑定安装看起来像“物理”位置。
然而,还有另一种方法可以在不绑定安装的情况下实现此目的:反转布局并让每个目录都有自己的
server
目录和自己的server/cstrike/hltv
符号链接,而仅使用符号链接来消除重复/2701x/server/[other files]
。例如: