System Track
Linux Command
Linux Fundamentals
Absolute vs Relative Path
เข้าใจความต่างระหว่าง absolute path และ relative path พร้อมวิธีคิดจากตำแหน่งปัจจุบันเพื่อพิมพ์คำสั่งได้แม่นยำ
1. Core Idea: Path คือที่อยู่ของไฟล์/โฟลเดอร์
Path คือข้อความที่ใช้บอกตำแหน่งของไฟล์หรือโฟลเดอร์ Absolute path เริ่มจาก / และบอกที่อยู่เต็มเสมอ Relative path อ้างอิงจากตำแหน่งปัจจุบัน (working directory)
- Absolute path ชัดเจนที่สุด แต่อาจยาว
- Relative path พิมพ์สั้นและเร็ว แต่ต้องรู้ว่าตอนนี้อยู่ที่ไหน
- ก่อนใช้ relative path ควรเช็กด้วย pwd
2. Mental Model: ที่อยู่เต็มบ้าน vs บอกทางจากจุดที่ยืน
Absolute path เหมือนเขียนที่อยู่บ้านเต็มทุกครั้ง Relative path เหมือนบอกทางจากตำแหน่งที่เรายืนอยู่ตอนนี้ เช่น "เดินขึ้นหนึ่งชั้นแล้วเลี้ยวซ้าย"
เลือกใช้ path ให้เหมาะกับบริบท: แม่นยำหรือพิมพ์สั้น
3. Rule/Definition: สัญลักษณ์ที่ต้องจำ
| สัญลักษณ์ | ความหมาย | ตัวอย่าง |
|---|---|---|
| / | root ของระบบ | /home/student |
| . | ตำแหน่งปัจจุบัน | ./notes/todo.txt |
| .. | ย้อนขึ้นหนึ่งระดับ | ../shared/config.json |
| ~ | home ของ user ปัจจุบัน | ~/projects/app |
4. Worked Example: ย้ายจาก projects ไปยัง logs
- 1) สมมติอยู่ที่ /home/student/projects/app
- 2) ถ้าจะไป /var/log แบบชัวร์ ใช้ absolute path
- 3) ถ้าจะไปโฟลเดอร์พี่น้อง ใช้ ../ เพื่อย้อนระดับ
- 4) ยิ่งโครงสร้างลึก ควรตรวจ pwd ก่อนทุกครั้ง
- 5) เป้าหมายคือพิมพ์ path สั้นแต่ไม่ผิดตำแหน่ง
5. Command Example: เทียบ absolute และ relative
คำสั่งตัวอย่างbash
ฝึกอ่านคำสั่งพร้อมบริบทตำแหน่งปัจจุบัน จะช่วยลด error เรื่อง path ได้มาก
pwd
cd /var/log # absolute
cd /home/student # absolute
cd projects # relative
cd ../ # relative (ย้อนขึ้น)
cd ./app # relative (อยู่ระดับปัจจุบัน)6. Recap + Common Mistakes
- Absolute path เริ่มจาก / และไม่ขึ้นกับตำแหน่งปัจจุบัน
- Relative path ยืดหยุ่นกว่าแต่ขึ้นกับ pwd
- ใช้ . และ .. ให้ถูกจะทำงานเร็วขึ้นมาก
- ข้อผิดพลาดที่พบบ่อย: สับสนว่า .. ย้อนกี่ชั้น (จริง ๆ ย้อน 1 ชั้น)