为什么不能在不是当前工作目录的目录位置创建符号 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.txt
在 src
目录中创建一个名为 test.txt
的空白文件。
但是,cd
进入 src
然后创建 link 工作:
cd src/ && ln -s ../test.txt test.txt
在 src
中创建一个有效的 link 到 test.txt
,称为 test.txt
如果符号 link 的目标是相对路径,则它被解释为相对于包含 link 的目录,而不是您创建它时所在的目录。这允许您在目录之间移动具有符号 link 引用的目录层次结构,并且它们将保持有效。
因此,如果您想使用相对路径名,则无论您在创建 link.
时位于哪个目录中,都需要使用 ../test.txt
创建一个名为 test.txt
的测试文件,然后尝试 link 到 src
中的某个位置似乎会生成一个带有目标文件名称的空文件。但是,如果我在目标目录中,它工作正常。
例子
ln -s test.txt src/test.txt
在 src
目录中创建一个名为 test.txt
的空白文件。
但是,cd
进入 src
然后创建 link 工作:
cd src/ && ln -s ../test.txt test.txt
在 src
中创建一个有效的 link 到 test.txt
,称为 test.txt
如果符号 link 的目标是相对路径,则它被解释为相对于包含 link 的目录,而不是您创建它时所在的目录。这允许您在目录之间移动具有符号 link 引用的目录层次结构,并且它们将保持有效。
因此,如果您想使用相对路径名,则无论您在创建 link.
时位于哪个目录中,都需要使用../test.txt