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/pwd
mevcut ç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.
pwd
Kabuğ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 cd
komut yaptığınızda, kabuğunuz, bulunduğunuz yere gitme yolunun bir parçası olarak hatırlar ve pwd
yaptığınız tüm cd
komutlara göre hesapladıklarını yazdırır ; çalışma dizini.
Siz bir şey yapıp foo içine girmeye ln -s . foo
devam ettiğinizde işler gerçekten garipleşebilir cd
- /bin/pwd
hala 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/pwd
sonra 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.