Answers:
内建的pwd shell使用了shell跟踪您的路径cd(并将其存储在中$PWD)。这意味着,如果您具有到复杂(深)路径的符号链接,它将告诉您键入的内容以更改为该目录,而不是实际路径。这样做是为了给您大部分时间想要的东西。
/bin/pwd使用getcwd系统调用(现在是一个库调用,正在读取/proc/self/cwd),该系统调用返回当前目录的规范路径,没有所有符号链接遍历。
正如Steven D所指出的,pwd可以-P选择忽略$PWD。它还具有-L返回的内容的选项$PWD。的手册页pwd没有说默认使用哪个选项,但是经验告诉我上面的描述是正确的(shell pwdvs. /bin/pwd)。但是,您可能不应该依赖于此,而只需使用即可pwd -P。
/bin/pwd是GNU pwd时未设置POSIXLY_CORRECT。在POSIX系统,其中pwd在/bin。/bin/pwd将使用$ PWD并可能返回带有符号链接的路径。当GNU pwd在其环境中找到POSIXLY_CORRECT变量时,它将以POSIX方式运行。
                    
man pwd在shell中键入此命令的选项来轻松找到此信息。