Ter*_*ver 1 linux symbolic-link
创建以下目录:
parent/child
Run Code Online (Sandbox Code Playgroud)
导航到 child 并创建一个名为的文件child(在我的情况下这是一个可执行文件,不确定这是否有所不同)。
我需要在父级中创建两个“可执行链接”链接。我原以为这会奏效:
ln -sf ./child ../child1
ln -sf ./child ../child2
Run Code Online (Sandbox Code Playgroud)
但这会在父目录中创建一个“文件夹链接”(./child)。
如果我将其更改为:
ln -sf -t.. ./child child1
ln -sf -t.. ./child child2
Run Code Online (Sandbox Code Playgroud)
我收到一个错误,“ln: '../child': 无法覆盖目录”。
如果我从父目录执行此操作(我不能执行此操作,这是 Makefile 配方的一部分):
ln -sf ./child/child ./child1
ln -sf ./child/child ./child2
Run Code Online (Sandbox Code Playgroud)
有用。
请注意,我无法更改任何目录或文件的名称。
当前目录是子目录时如何创建链接?
这是因为第一个参数,TARGET,是相对于该链接的位置。换句话说,您正在创建名为parent/child1和parent/ child2 的链接,它们都链接到./child。从这些链接的角度来看,./child是目录。您需要链接到./child/child。或者更好的是,创建一个绝对链接:
ln -sf /full/path/to/parent/child/child ../child1
ln -sf /full/path/to/parent/child/child ../child2
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
15861 次 |
| 最近记录: |