我将代码作为 sshfs 安装在我的主目录中,但层次结构很难记住,因此我在主目录中创建了一个指向该目录的符号链接。有没有办法让当我 cd 到该符号链接时,它实际上会 cd 到该目录,而不是 cd 到该符号链接?
如果问题不清楚,这是我正在寻找的示例:
foo@foo:~$ ls -l
lrwxrwxrwx 1 foo foo 5 2012-11-14 08:20 foo -> bar/bar
foo@foo:~$ cd foo
foo@foo:~/bar/bar/$
答案1
对于 的任何 POSIX 实现cd
,您都可以使用该-P
选项来执行此操作。
$ help cd
...
-P use the physical directory structure without following symbolic links
...
您可以在这里看到它的实际效果:
$ mkdir foo
$ ln -s foo bar
$ cd -P bar
$ pwd
/tmp/tmp.WkupF2Ucuh/foo
如果您希望这是默认行为,您可以为 创建一个别名cd
,如下所示:
alias cd='cd -P'
...或使用set -o physical
.对于 tcsh,等效命令是set symlinks=chase
.