- centos版本:8.5.2111
- 我现在处于这个密码:
/tmp/new/
- 我需要在
/home/chenchen/Videos/
和之间创建一个软链接/tmp/softlink
- 这是我的命令:
ln -s /home/chenchen/Videos/ ../softlink
- 结果:此软链接出现在
/home/chenchen/softlink
,但我认为它出现在/tmp/softlink
- 显然,'
..
'代表了/home/chenchen
step.4命令中的for - 但是,当我
double-tab
此时使用时:ln -s /home/chenchen/Videos/ ../
,它显示了/tmp/
此时下的一些文件,..
代表/tmp
- 问:在step4和step7上,为什么
..
几乎相同的命令有不同的含义?
答案1
这并不是..
具有不同的含义,而是 shell 解释..
不正确。
这里的问题是 shell 认为它知道你所在的目录,但是如果 shell 的 pwd 中的路径之一是符号链接,并且..
遍历该符号链接,shell 将删除路径组件以生成新目录,但是这个实际上可能不正确,实际遍历..
会得到不同的结果。
如果将内置 shell 的输出pwd
与外部 .shell的输出进行比较,您可以更直接地看到这一点/bin/pwd
。在bash中,您还可以使用shell内置命令pwd -P
来获取真实路径。