0

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)

4

1 回答 1

1

视频中的用户输入了错误的 ln 命令。ln 的第一个参数是目标(您要链接的内容),第二个参数是链接的位置。当您这样做时,ln -s date.sh ../date.sh.sym1您将在父目录中放置一个指向当前目录中某些内容的符号链接。视频中的用户随后将目录更改为父目录。从那个参考框架来看,操作系统期望date.sh在当前目录中调用一些东西。因此command not found出现错误。

第二个 lnln -s test/date.sh date.sh.sym3创建了一个指向test/date.sh. 该路径 ( test/date.sh) 可以被解析,这就是它运行的原因。

于 2015-09-10T03:57:52.203 回答