我将此文件创建为:
$ echo "ABC" > /home/kes/test
我可以cd
回家并离开它:
kes@work ~/s $ cd ..
kes@work ~ $ cat test
ABC
kes@work ~ $ cd s
kes@work ~/s $
~/s
是软链接:
kes@work ~/s $ pwd
/home/kes/s
kes@work ~/s $ pwd -P
/home/kes/work/projects/safevpn/repo2
但是当我使用相对路径时,它不起作用:
kes@work ~/s $ cat ../test
cat: ../test: No such file or directory
但是
我不希望cat
尝试在父目录中打开文件(解析符号链接),因为cd
不能解决该问题:
$ rm /home/kes/test
$ mkdir /home/kes/test
$ cd ~/s
$ cd ../test
$ pwd
/home/kes/test
如何使这些命令保持一致?
答案 0 :(得分:3)
如果您阅读cd
的手册页,则会看到cd
可以或不能解析软链接,具体取决于您提供的选项(-L
或{{ 1}})。如果未提供任何选项,则-P
使用默认的cd
,这意味着不解析软链接。
如果同时指定了-L和-P选项,则这些选项中的最后一个 应使用
其他所有人都忽略了。如果既未指定-L也未指定-P,则操作数应为
逻辑上处理点对点;
和
-L逻辑上处理操作数点-点;符号链接 组件应
在处理点-点组件之前无法解析(请参阅步骤8。
和9.在Description中)。