为什么无法在不是当前工作目录的目录位置创建符号链接?



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

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

但是,cdsrc然后创建链接可以:

cd src/ && ln -s ../test.txt test.txt创建一个指向test.txt的有效链接,src称为test.txt

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

因此,如果要使用相对路径名,则无论创建链接时位于哪个目录中,都需要使用../test.txt

最新更新