Jawaban:
Built-in shell pwd menggunakan jalur shell melacak ketika Anda cd(dan menyimpannya di $PWD). Ini berarti jika Anda memiliki symlink ke jalur (dalam) yang kompleks, itu akan memberi tahu Anda apa yang Anda ketik untuk berubah ke direktori itu alih-alih jalur nyata. Ini dilakukan untuk memberi Anda apa yang paling Anda inginkan.
/bin/pwdmenggunakan getcwdpanggilan sistem (yang hari ini adalah panggilan pustaka, membaca /proc/self/cwd) yang mengembalikan jalur kanonik untuk direktori saat ini, tidak dapat melakukan semua lintasan symlink.
Seperti yang ditunjukkan Steven D, pwdada -Popsi untuk mengabaikan $PWD. Ini juga memiliki -Lopsi untuk mengembalikan konten $PWD. Halaman manual untuk pwdtidak mengatakan opsi mana yang digunakan secara default tetapi pengalaman memberitahu saya bahwa uraian di atas adalah benar (shell pwdvs. /bin/pwd). Namun Anda mungkin tidak harus bergantung pada itu dan gunakan saja pwd -P.
/bin/pwdGNU pwdketika POSIXLY_CORRECT tidak disetel. Pada sistem POSIX di mana pwdada /bin. /bin/pwdakan menggunakan $ PWD dan dapat mengembalikan jalur dengan symlink. GNU pwd akan berperilaku seperti itu POSIX ketika menemukan variabel POSIXLY_CORRECT di lingkungannya.
man pwdshell untuk mengetahui opsi untuk perintah ini.