为什么不能在不是当前工作目录的目录位置创建符号 link?

Why can't a symbolic link be created in a directory location that is not the current working directory?

创建一个名为 test.txt 的测试文件,然后尝试 link 到 src 中的某个位置似乎会生成一个带有目标文件名称的空文件。但是,如果我在目标目录中,它工作正常。

例子

ln -s test.txt src/test.txtsrc 目录中创建一个名为 test.txt 的空白文件。

但是,cd进入 src 然后创建 link 工作:

cd src/ && ln -s ../test.txt test.txtsrc 中创建一个有效的 link 到 test.txt,称为 test.txt

如果符号 link 的目标是相对路径,则它被解释为相对于包含 link 的目录,而不是您创建它时所在的目录。这允许您在目录之间移动具有符号 link 引用的目录层次结构,并且它们将保持有效。

因此,如果您想使用相对路径名,则无论您在创建 link.

时位于哪个目录中,都需要使用 ../test.txt