如何创建跨 PC 工作的相对符号链接

如何创建跨 PC 工作的相对符号链接

我有以下目录结构开始

~/a/bin
~/a/src -> /home/user/b/sync/src

我创建了一个符号链接

cd ~/a/src
ln -s ../bin bin-xyz

现在 bin-xyz 是一个损坏的链接,并且无法通过 cd 进入它。

我在寻找什么?

如何在符号链接文件夹内创建符号链接,以使相对路径不会被破坏。例如,

 cd ~/a/src/bin-xyz 

或者

 cd ~/b/sync/src/bin-xyz

如果 ~/a/ 或 ~b/sync/ 中有 bin 目录,应该可以工作

我为什么要寻找这个?

我正在跨计算机同步 ~/b/sync/src,其中 ~/a/ 是我在两台计算机中的工作区,但计算机的用户名不同。因此,拥有有效的相对路径对我来说意味着更轻松的工作流程。

我正在使用 Bittorent 同步进行同步。

谢谢 :-)

答案1

现在 bin-xyz 是一个损坏的链接

其原因希望是显而易见的:要么..必须参考实际的父目录,否则它将完全不明确。

因为~/a/src -> /home/user/b/sync/src,我认为$PWDln -s ../bin bin-xyz正在尝试链接/home/user/b/sync/src/bin-xyz/home/user/a/sync/bin.在这种情况下,您应该只使用绝对路径:

 ln -s /home/user/a/sync/bin /home/user/b/sync/src/bin-xyz

ln没有填补这方面空白的原因..是,与您当前的 shell 不同,它没有跟踪您的移动,并且无法知道..您指的是真正的父目录之外的其他内容。

你的问题(也许?)暗示你不能这样做,因为实际上涉及两个不同的系统。这意味着要么安装了网络共享,要么您对两者使用相同的块设备,这又意味着XY问题——如果没有更多细节就无法解决这个问题。

相关内容