ค้นหาเว็บไซต์

ใช้ 'pushd' และ 'popd' เพื่อการนำทางระบบไฟล์ที่มีประสิทธิภาพใน Linux


บางครั้งการนำทางระบบไฟล์ Linux ด้วยคำสั่งอาจเป็นเรื่องยาก โดยเฉพาะสำหรับมือใหม่ โดยปกติเราใช้คำสั่ง cd (Change Directory) เป็นหลักในการย้ายระบบไฟล์ Linux

ในบทความก่อนหน้านี้ เราได้ตรวจสอบยูทิลิตี้ CLI ที่เรียบง่ายแต่มีประโยชน์สำหรับ Linux ที่เรียกว่า bd เพื่อการย้ายกลับไปยังไดเร็กทอรีหลักอย่างรวดเร็วโดยไม่ต้องพิมพ์ cd ../../.. ซ้ำๆ

บทช่วยสอนนี้จะอธิบายชุดคำสั่งที่เกี่ยวข้อง: “pushd ” และ “popd ” ซึ่งใช้สำหรับการนำทางโครงสร้างไดเรกทอรี Linux อย่างมีประสิทธิภาพ มีอยู่ในเชลล์ส่วนใหญ่เช่น bash, tcsh เป็นต้น

แนะนำให้อ่าน: กระโดดอัตโนมัติ – คำสั่ง 'cd' ขั้นสูงเพื่อนำทางระบบไฟล์ Linux อย่างรวดเร็ว

คำสั่ง pushd และ popd ทำงานอย่างไรใน Linux

pushd และ popd ทำงานตามหลักการ “LIFO” (เข้าหลัง ออกก่อน) ในหลักการนี้ อนุญาตให้ดำเนินการได้เพียงสองรายการเท่านั้น ได้แก่ พุชรายการลงในสแต็ก และนำรายการออกจากสแต็ก

pushd เพิ่มไดเร็กทอรีที่ด้านบนของสแต็ก และ popd จะลบไดเร็กทอรีออกจากด้านบนของสแต็ก

หากต้องการแสดงไดเร็กทอรีในไดเร็กทอรีสแต็ก (หรือประวัติ) เราสามารถใช้คำสั่ง dirs ดังที่แสดง

dirs
OR
dirs -v

คำสั่ง pushd – วาง/เพิ่มเส้นทางไดเร็กทอรีลงในสแต็กไดเร็กทอรี (ประวัติ) และอนุญาตให้คุณนำทางกลับไปยังไดเร็กทอรีใด ๆ ในประวัติศาสตร์ได้ในภายหลัง ในขณะที่คุณเพิ่มไดเร็กทอรีลงในสแต็ก มันจะสะท้อนถึงสิ่งที่มีอยู่ในประวัติ (หรือ "สแต็ก") ด้วย

คำสั่งแสดงวิธีการทำงานของ pushd:

pushd  /var/www/html/
pushd ~/Documents/
pushd ~/Desktop/
pushd /var/log/

จากไดเร็กทอรีสแต็กในเอาต์พุตด้านบน (ดัชนีไดเร็กทอรีอยู่ในลำดับย้อนกลับ):

  • /var/log เป็น [index 0] ที่ห้าในไดเร็กทอรีสแต็ก
  • ~/Desktop/ อยู่ที่สี่ [ดัชนี 1]
  • ~/Documents/ เป็นอันดับสาม [ดัชนี 2]
  • /var/www/html/ เป็นอันดับสอง [index 3] และ
  • ~ อยู่อันดับแรก [ดัชนี 4]

อีกทางเลือกหนึ่ง เราสามารถใช้ดัชนีไดเร็กทอรีในรูปแบบ pushd +# หรือ pushd -# เพื่อเพิ่มไดเร็กทอรีลงในสแต็ก หากต้องการย้ายไปยัง ~/Documents เราจะพิมพ์:

pushd +2

หมายเหตุหลังจากนี้ เนื้อหาสแต็กจะเปลี่ยนไป จากตัวอย่างก่อนหน้านี้ หากต้องการย้ายไปยัง /var/www/html เราจะใช้:

pushd +1

คำสั่ง popd – ลบไดเรกทอรีออกจากด้านบนของสแต็กหรือประวัติ หากต้องการแสดงรายการไดเร็กทอรีสแต็ก ให้พิมพ์:

popd

หากต้องการลบไดเร็กทอรีออกจากไดเร็กทอรีสแต็กให้ใช้ popd +# หรือ popd -# ในกรณีนี้ เราจะพิมพ์คำสั่งด้านล่างเพื่อลบ ~/Documents :

popd +1

ดูเพิ่มเติมที่: Fasd – เครื่องมือ Commandline ที่ให้การเข้าถึงไฟล์และไดเร็กทอรีได้อย่างรวดเร็ว

ในบทช่วยสอนนี้ เราได้อธิบายคำสั่ง “pushd ” และ “popd ” ซึ่งใช้สำหรับการนำทางโครงสร้างไดเร็กทอรีอย่างมีประสิทธิภาพ แบ่งปันความคิดของคุณเกี่ยวกับบทความนี้ผ่านแบบฟอร์มคำติชมด้านล่าง