当路径包含符号链接时,如何在unix/linux中移回一个目录?

当路径包含符号链接时,如何在unix/linux中移回一个目录?,linux,shell,unix,symlink,cd,Linux,Shell,Unix,Symlink,Cd,我已经创建了一个指向深度嵌套目录的符号链接。使用符号链接,我可以从主目录移动到该目录。我想从目标目录移回一个目录,但是shell返回到主目录 [root@pe1800xs ~]# pwd /root [root@pe1800xs ~]# mkdir -p abc/def/ghi/jkl/mno/pqr [root@pe1800xs ~]# ln -s abc/def/ghi/jkl/mno/pqr/ xyz [root@pe1800xs ~]# cd xyz [root@pe1800xs

我已经创建了一个指向深度嵌套目录的符号链接。使用符号链接,我可以从主目录移动到该目录。我想从目标目录移回一个目录,但是shell返回到主目录

[root@pe1800xs ~]# pwd
/root

[root@pe1800xs ~]# mkdir -p abc/def/ghi/jkl/mno/pqr

[root@pe1800xs ~]# ln -s abc/def/ghi/jkl/mno/pqr/ xyz

[root@pe1800xs ~]# cd xyz

[root@pe1800xs xyz]# pwd
/root/xyz

[root@pe1800xs xyz]# pwd -P
/root/abc/def/ghi/jkl/mno/pqr

[root@pe1800xs xyz]# cd ..

[root@pe1800xs ~]# pwd
/root

我想要实现的是,当我在
pqr
目录中执行
cd..
操作时,shell应该进入
mno
目录。

您必须通过
-p
选项:

[root@pe1800xs ~]# pwd
/root

[root@pe1800xs ~]# mkdir -p abc/def/ghi/jkl/mno/pqr

[root@pe1800xs ~]# ln -s abc/def/ghi/jkl/mno/pqr/ xyz

[root@pe1800xs ~]# cd xyz

[root@pe1800xs xyz]# pwd
/root/xyz

[root@pe1800xs xyz]# pwd -P
/root/abc/def/ghi/jkl/mno/pqr

[root@pe1800xs xyz]# cd ..

[root@pe1800xs ~]# pwd
/root
cd -P ..
你必须使用

cd -P xyz

要进入该目录以遵循文件夹的原始结构,则您可以随意移动,因为您已将链接解析为实际路径。

unix中的链接就像文件直接存在于其中一样,这很自然。。在层次结构中向上移动,就像文件所在的位置一样,您可以在pqr目录中创建指向/root/abc/def/ghi/jkl/mno的链接,然后只需cd即可