คำสั่งพื้นฐานที่สำคัญที่สุดใน CLI Linux คือ pwd (print working directory) แสดงโฟลเดอร์ที่คุณอยู่ในขณะนั้น
คู่มือนี้สอนการใช้ pwd พร้อมตัวเลือกหา Physical path (ตำแหน่งจริงบนดิสก์) และ Logical path (เส้นทางผ่าน Symbolic Link)
ดูโฟลเดอร์ปัจจุบัน พื้นฐาน
เปิด Terminal รัน:
pwd
ผลลัพธ์ตัวอย่าง:
/home/gary
ใช้ cd ย้ายไปโฟลเดอร์อื่น pwd จะเปลี่ยนตาม เช่น cd documents → /home/gary/documents
pwd แสดงอะไรเมื่อเข้า Symbolic Link?
สถานการณ์: โครงสร้าง
- home/gary/documents/folder1
- home/gary/documents/folder2
สร้าง Symlink: ln -s /home/gary/documents/folder1 /home/gary/documents/accounts
ตอนนี้ tree:
- home/gary/documents/folder1
- home/gary/documents/folder2
- home/gary/documents/accounts → folder1
ls -lt จะแสดง accounts -> folder1
อยู่ที่ documents → cd accounts → pwd แสดง /home/gary/documents/accounts (Logical path)
แต่ ls ใน accounts จะแสดงไฟล์ใน folder1
ตัวเลือก -P และ -L: Physical vs Logical
pwd -P→ แสดง Physical path:/home/gary/documents/folder1pwd -L→ แสดง Logical path:/home/gary/documents/accounts(เหมือน pwd ธรรมดา)
Best Practice: ค่า default (physical หรือ logical) ขึ้นกับการ compile pwd ของระบบ → ควรใช้ -P หรือ -L ให้ชัดเจน ตามที่ต้องการ
ใช้ตัวแปร $PWD และ $OLDPWD
- ดู current directory:
echo $PWD - ดู previous directory:
echo $OLDPWD(โฟลเดอร์ก่อนหน้าที่ cd มา)
หลายเวอร์ชันของ pwd (Shell builtin vs /usr/bin/pwd)
ในบางระบบ (เช่น Kubuntu) พฤติกรรมต่างกัน:
- Shell builtin pwd → แสดง Logical path ใน symlink
- /usr/bin/pwd (binary) → แสดง Physical path ใน symlink
รันคำสั่งเดียวกันได้ผลต่างกัน → ย้ำอีกครั้ง: ใช้ -P / -L เพื่อความแน่ชัด
Switches เสริม
pwd --version→ แสดงเวอร์ชัน (ทำงานกับ /bin/pwd, shell builtin อาจไม่ทำงาน)pwd --help→ แสดง manual page (ทำงานกับ /bin/pwd เท่านั้น)