https://www.youtube.com/watch?v=-XosJtC0vyA
在当前目录(测试)中,我使用了
echo date > date.sh ; chmod u+x date.sh
创建date.sh并使其可执行。
然后我用了
ln -s date.sh ../date.sh.sym1
ln -s ./date.sh ../date.sh.sym2
在我输入的父目录中创建两个符号链接
./date.sh.sym1
./date.sh.sym2
结果是两个都显示未找到命令。 然后在父目录中,我使用了
ln -s test/date.sh date.sh.sym3
创建另一个符号链接。这次它在我输入
后变成可执行的./date.sh.sym3
是否因为符号链接只能从父对象创建? (FreeBSD 10.2)
答案 0 :(得分:1)
视频中的用户输入错误的ln命令。 ln的第一个参数是目标(你要链接到的)第二个参数是放置链接的位置。执行ln -s date.sh ../date.sh.sym1
时,您将父目录中的符号链接放在当前目录中的某个位置。然后,视频中的用户将目录更改为父目录。从该参考框架开始,操作系统期望当前目录中有一个名为date.sh
的东西。因此command not found
错误。
第二个ln,ln -s test/date.sh date.sh.sym3
创建了一个指向test/date.sh
的链接。该路径(test/date.sh
)可以解决,这就是它运行的原因。