假设我的文件夹中有〜/ a / b文件夹,文件夹b包含一个名为'symlink'的符号链接。 然后,我在bash中执行以下操作:
hm@mach:~$ cd a/b/symlink hm@mach:~/a/b/symlink$ pwd -P /home/hm/a hm@mach:~/a/b/symlink$ cd .. hm@mach:~/a/b$ pwd -P /home/hm/a/b
pwd -P打印当前工作目录,取消所有符号链接。 为什么工作目录/ home / hm / a / b在最后,而不是/ home / hm?
如何获得python在UNIX中的最大文件系统path长度?
在embedded式Linux上安全地写入压缩闪存
使用Java创buildWindows符号链接(相当于MKLINK)
如何解释/ proc / mounts?
bash是“友善”的; 当你cd /into/a/symlink/ ,shell会记住旧的位置(在$OLDPWD ),并且在你想要返回到你刚才所在的目录的前提下将使用该目录。
如果你想使用真正的 .. ,那么你也必须使用cd -P :
The -P option says to use the physical directory structure instead of following symbolic links (see also the -P option to the set builtin command); the -L option forces symbolic links to be followed.
$ cd $ cd a/b/symlink $ cd -P .. $ pwd -P /home/sarnold $
bash跟踪逻辑当前目录的路径,如你的提示所示,并根据这个解释cd ..等东西。 如果你只在cd (或pushd )中使用这样的路径,这会让事情变得更加一致,代价是出乎意料的事情发生,如果你期望同样的事情发生在命令参数中的路径(或者内部命令; emacs和vim有他们自己的可配置的符号链接处理规则,但大多数命令依靠内核来处理它)。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。