Вбудована оболонка pwd використовує шлях, за яким оболонка відстежує, коли ви cd
(і зберігає її $PWD
). Це означає, що якщо у вас є посилання на складний (глибокий) шлях, він підкаже, що ви ввели, щоб змінити до цього каталогу замість реального шляху. Це робиться для того, щоб дати вам те, чого ви хочете більшу частину часу.
/bin/pwd
використовує getcwd
системний виклик (який сьогодні є бібліотечним дзвінком, читанням /proc/self/cwd
), який повертає канонічний шлях для поточного каталогу, і відміняє всі проходження символьної посилання.
Як зазначив Стівен Д, pwd
є -P
можливість ігнорувати $PWD
. Він також має -L
можливість повернути вміст $PWD
. Сторінка man для pwd
не каже, який варіант використовується за замовчуванням, але досвід підказує, що вищеописаний опис є правильним (оболонка pwd
проти /bin/pwd
). Однак ви, мабуть, не повинні покладатися на це, а просто користуватися pwd -P
.
man pwd
оболонку, щоб дізнатись параметри цієї команди.