Shell pwd tích hợp sử dụng đường dẫn mà shell theo dõi khi bạn cd
(và lưu nó vào $PWD
). Điều này có nghĩa là nếu bạn có một liên kết tượng trưng đến một đường dẫn (sâu) phức tạp, nó sẽ cho bạn biết những gì bạn đã nhập để thay đổi thư mục đó thay vì đường dẫn thực. Điều này được thực hiện để cung cấp cho bạn những gì bạn muốn hầu hết thời gian.
/bin/pwd
sử dụng getcwd
cuộc gọi hệ thống (mà ngày nay là cuộc gọi thư viện, đọc /proc/self/cwd
) trả về đường dẫn chính tắc cho thư mục hiện tại, bao gồm tất cả các đường truyền liên kết tượng trưng.
Như Steven D đã chỉ ra, pwd
có -P
tùy chọn bỏ qua $PWD
. Nó cũng có -L
tùy chọn để trả về nội dung của $PWD
. Trang man pwd
không cho biết tùy chọn nào được sử dụng theo mặc định nhưng kinh nghiệm cho tôi biết mô tả ở trên là chính xác (shell pwd
vs. /bin/pwd
). Tuy nhiên có lẽ bạn không nên dựa vào điều đó và chỉ sử dụng pwd -P
.
man pwd
shell để tìm ra các tùy chọn cho lệnh này.