Một trong những lệnh quan trọng nhất khi học giao diện dòng lệnh Linux là lệnh pwd, viết tắt của print working directory (in thư mục làm việc).
Hướng dẫn này chỉ cách dùng lệnh pwd. Cũng chỉ cách tìm đường dẫn vật lý (physical path) đến thư mục bạn đang làm việc và thư mục logic (logical directory) bạn đang ở.
Cách xác định thư mục Linux bạn đang ở
Để biết thư mục hiện tại, mở dòng lệnh, chạy lệnh:
pwd
Kết quả lệnh pwd sẽ giống như:
/home/gary
Khi bạn di chuyển trong hệ thống, thư mục làm việc thay đổi phản ánh vị trí hiện tại trong hệ thống file.
Ví dụ: dùng lệnh cd điều hướng đến thư mục documents, lệnh pwd cho kết quả:
/home/gary/documents
pwd hiển thị gì khi điều hướng đến thư mục liên kết tượng trưng (symbolic link)?
Để trả lời, thiết lập kịch bản sau.
Giả sử bạn có cấu trúc thư mục:
- home
- gary
- documents
- folder1
- folder2
- documents
- gary
Bây giờ tạo liên kết tượng trưng (symbolic link) đến folder2:
ln -s /home/gary/documents/folder1 /home/gary/documents/accounts
Cây thư mục giờ trông như:
- home
- gary
- documents
- folder1
- folder2
- accounts
- documents
- gary
Lệnh ls hiển thị file và thư mục tại vị trí:
ls -lt
Chạy ls trên thư mục documents, đối với accounts sẽ thấy:
accounts -> folder2
Liên kết tượng trưng trỏ đến vị trí khác trong hệ thống file.
Giả sử bạn ở thư mục documents và dùng cd vào thư mục accounts. Kết quả pwd sẽ là gì?
Nếu bạn đoán /home/gary/documents/accounts, bạn đúng. Nhưng nếu chạy ls trên accounts, nó hiển thị file bên trong folder2.
Xem lệnh sau:
pwd -P
Khi chạy lệnh trên trong thư mục liên kết tượng trưng, bạn thấy vị trí vật lý, trong trường hợp này là /home/gary/documents/folder2.
Để xem thư mục logic, dùng lệnh:
pwd -L
Lệnh này hiển thị cùng thư mục với pwd đơn lẻ, là /home/gary/documents/accounts.
Lệnh có mặc định đường dẫn vật lý hay logic tùy cách bạn thiết lập và biên dịch pwd trên hệ thống. Do đó, thói quen tốt là dùng công tắc -P hoặc -L (tùy hành vi bạn muốn).
Cách dùng biến $PWD
Bạn có thể xem thư mục làm việc hiện tại bằng cách hiển thị giá trị biến $PWD:
echo $PWD
Cách hiển thị thư mục làm việc trước đó
Nếu muốn xem thư mục làm việc trước đó, chạy:
echo $OLDPWD
Kết quả hiển thị thư mục bạn ở trước khi chuyển đến thư mục hiện tại.
Nhiều phiên bản của pwd
Lệnh pwd có thể hành xử khác nhau tùy cách thiết lập. Ví dụ điển hình là Kubuntu Linux.
Phiên bản shell của pwd (dùng khi chạy lệnh pwd) hiển thị thư mục làm việc logic khi ở trong thư mục liên kết tượng trưng. Nhưng nếu chạy lệnh sau, bạn sẽ thấy nó hiển thị thư mục làm việc vật lý khi ở trong thư mục liên kết tượng trưng:
/usr/bin/pwd
Đầu ra này không hữu ích: bạn chạy cùng một lệnh nhưng nhận kết quả ngược lại ở chế độ mặc định. Đó là lý do nên quen dùng công tắc -P và -L.
Các công tắc hữu ích với pwd
Hai công tắc thêm hữu ích với lệnh pwd. Thứ nhất:
pwd --version
...hiển thị số phiên bản hiện tại của pwd.
Khi chạy đối với phiên bản shell của pwd, công tắc --version có thể không hoạt động. Nó sẽ hoạt động đối với phiên bản /bin/pwd.
Công tắc thứ hai:
pwd --help
...hiển thị trang manual ra cửa sổ terminal.
Lại lần nữa, công tắc này không hoạt động cho phiên bản shell của pwd, chỉ đối với phiên bản /bin/pwd.