Gerçekten içindesiniz /home/cpm135/public_html/class- "şu andaki çalışma dizinim nedir" sorusunun tek doğru cevabı bu.
Bahsettiğinizde /var/lib/class... bu gerçekten nerede olduğunuzla ilgili değil, oraya hangi yolu kullandığınızla ilgili .
Çalıştığınızda /bin/pwdmevcut çalışma dizininize bakarak hesaplar. ve .. dizinleri (başında listelenenler ls -la), hangi dizinde eşleşeceğini bulmak. ve ardından geriye ve geriye doğru çalışıp .. ve. aynı dizine bakın. Tüm bunları yaptıktan sonra, geçerli çalışma dizininizin ne olduğunu bilir.
pwdKabuğu yerleşik olarak çalıştırdığınızda, bu prosedürü izlemiyor (gerekirse bazılarını da yapabiliyor olmasına rağmen) - bunun yerine, buraya gelmek için attığınız yolu hatırlıyor. Bu nedenle, her cdkomut yaptığınızda, kabuğunuz, bulunduğunuz yere gitme yolunun bir parçası olarak hatırlar ve pwdyaptığınız tüm cdkomutlara göre hesapladıklarını yazdırır ; çalışma dizini.
Siz bir şey yapıp foo içine girmeye ln -s . foodevam ettiğinizde işler gerçekten garipleşebilir cd- /bin/pwdhala aynı dizinde olduğunuzu söyleyeceksiniz, ancak kabuk yerleşikpwd olduğunuzu söyleyecektir içinde olduğunuzu söyleyecektir /foo/foo/foo/foo/foo/foo- böyle bir dizin olmasa bile. (Yani - muhtemelen can cd içine.)
Buradaki başka bir karmaşa kaynağı, dizinlerin yeniden adlandırılıp değiştirilmediğidir. /bin/pwdsonra hemen değişikliği anlayacaktır, ancak yerleşik pwd, eski dizin adının önemli olmadığını söyleyen bir şey yapana kadar yapmaz.