จะเลื่อนขึ้นไปยังไดเรกทอรีระดับบนได้อย่างไร?
ไดเรกทอรีแม่ (parent) คือไดเรกทอรีที่อยู่ระดับสูงกว่า
ตัวอย่างเช่น /home คือไดเรกทอรีแม่ของ /home/repl
และ /home/repl คือไดเรกทอรีแม่ของ /home/repl/seasonal
สามารถระบุ absolute path ของไดเรกทอรีแม่ให้กับคำสั่งอย่าง cd และ ls ได้เสมอ
แต่ในทางปฏิบัติ
มักใช้ประโยชน์จาก path พิเศษ ..
(จุดสองจุดไม่มีช่องว่าง) ซึ่งหมายถึง "ไดเรกทอรีที่อยู่เหนือไดเรกทอรีปัจจุบัน"
หากอยู่ใน /home/repl/seasonal
คำสั่ง cd .. จะพาขึ้นไปยัง /home/repl
หากใช้ cd .. อีกครั้ง
จะไปถึง /home
และใช้ cd .. อีกหนึ่งครั้งก็จะอยู่ที่ root directory /
ซึ่งเป็นระดับสูงสุดของระบบไฟล์
(อย่าลืมเว้นช่องว่างระหว่าง cd กับ .. เพราะเป็นคำสั่งและ path คนละส่วน ไม่ใช่คำสั่งสี่ตัวอักษรเดียว)
จุดเดี่ยว . หมายถึง "ไดเรกทอรีปัจจุบัน" เสมอ
ดังนั้น ls และ ls . จึงให้ผลเหมือนกัน
ส่วน cd . ไม่มีผลใดๆ
(เพราะเป็นการย้ายไปยังไดเรกทอรีที่อยู่อยู่แล้ว)
path พิเศษอีกอย่างหนึ่งคือ ~ (อักขระ tilde)
ซึ่งหมายถึง "โฮมไดเรกทอรีของคุณ" เช่น /home/repl
ไม่ว่าจะอยู่ที่ใด
ls ~ จะแสดงเนื้อหาของโฮมไดเรกทอรีเสมอ
และ cd ~ จะพากลับไปยังโฮมไดเรกทอรีเสมอ
หากอยู่ใน
/home/repl/seasonal
cd ~/../. จะพาไปที่ใด?แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Introduction to Shell
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำจริง
เปลี่ยนทฤษฎีให้เป็นการลงมือทำด้วยแบบฝึกหัดเชิงโต้ตอบหนึ่งในของเรา
เริ่มแบบฝึกหัด