Blockdit Logo
Blockdit Logo (Mobile)
สำรวจ
ลงทุน
คำถาม
เข้าสู่ระบบ
มีบัญชีอยู่แล้ว?
เข้าสู่ระบบ
หรือ
ลงทะเบียน
Cyrub23
•
ติดตาม
24 ต.ค. เวลา 02:22 • วิทยาศาสตร์ & เทคโนโลยี
ลินุกซ์พื้นฐาน : การเติมเต็มคำสั่ง (Command Completion)
ความหมายของการเติมเต็มคำสั่ง
ในระบบ ลินุกซ์ (Linux) โดยเฉพาะเมื่อใช้เชลล์อย่าง Bash (Bourne-Again Shell) ผู้ใช้สามารถใช้ฟังก์ชัน “การเติมเต็มคำสั่ง” (Command Completion) เพื่อช่วยลดการพิมพ์คำสั่งให้สะดวกและรวดเร็วขึ้นได้ โดยทั่วไปแล้ว การเติมเต็มคำสั่งจะทำได้ด้วยการกดปุ่ม Tab บนแป้นพิมพ์ระหว่างการพิมพ์คำสั่ง
เช่น หากผู้ใช้ต้องการพิมพ์คำสั่ง cd /usr/share/doc
เพียงพิมพ์ cd /u แล้วกด Tab หนึ่งครั้ง เชลล์จะพยายามเติมคำให้ครบเป็น /usr/ และหากกด Tab ซ้ำอีกครั้ง จะมีรายการตัวเลือกของโฟลเดอร์ที่เริ่มต้นด้วย /usr/ แสดงขึ้นมาให้เลือก
หลักการทำงานของการเติมเต็ม (Completion)
Bash เชลล์จะใช้ ไลบรารี readline ในการจัดการกับการรับข้อมูลจากแป้นพิมพ์ รวมถึงฟังก์ชันการเติมเต็มคำสั่ง ซึ่ง readline จะทำหน้าที่ตรวจสอบข้อมูลที่ผู้ใช้พิมพ์ และช่วย “คาดเดา” หรือ “เติม” ส่วนที่เหลือของคำสั่ง, ชื่อไฟล์, โฟลเดอร์, ตัวเลือกของคำสั่ง หรือแม้กระทั่งชื่อผู้ใช้
โดยทั่วไป การเติมเต็มสามารถใช้ได้กับสิ่งต่าง ๆ ดังนี้:
ตัวอย่างการใช้งาน
การใช้การเติมเต็มคำสั่ง
$ cd /u[Tab]
$ cd /usr/[Tab][Tab]
Display all 35 possibilities? (y or n)
ในตัวอย่างข้างต้น Bash แสดงรายการโฟลเดอร์ทั้งหมดที่อยู่ภายใต้ /usr/ ซึ่งผู้ใช้สามารถพิมพ์ต่อเพิ่มอีกเล็กน้อย แล้วกด Tab เพื่อให้เชลล์เติมคำให้สมบูรณ์ได้
การเปิดใช้งานและตั้งค่าการเติมเต็มขั้นสูง
ในบางระบบ ลินุกซ์อาจมีการติดตั้งชุดคำสั่งช่วยเติมเต็มเพิ่มเติมไว้ในแพ็กเกจที่ชื่อว่า
bash-completion
ผู้ใช้สามารถตรวจสอบและติดตั้งได้ดังนี้:
$ sudo apt install bash-completion
หลังจากติดตั้งแล้ว ระบบจะโหลดสคริปต์การเติมเต็มอัตโนมัติทุกครั้งที่เปิดเทอร์มินัลใหม่ โดยเฉพาะไฟล์ที่อยู่ใน
/etc/bash_completion หรือ /usr/share/bash-completion/
ไฟล์เหล่านี้จะช่วยให้ Bash รู้จักรูปแบบการเติมเต็มสำหรับคำสั่งต่าง ๆ เช่น git, ssh, docker, apt, tar ฯลฯ
การกำหนดการเติมเต็มด้วยตนเอง
ผู้ใช้สามารถสร้างฟังก์ชันการเติมเต็มของตนเองได้ โดยใช้คำสั่ง complete เช่น
$ complete -W "start stop restart status" service
เมื่อพิมพ์ service ตามด้วยการกด Tab ระบบจะเสนอคำว่า start, stop, restart, หรือ status ให้เลือกทันที
การใช้งานร่วมกับ Readline
ฟังก์ชันการเติมเต็มคำสั่งนี้อาศัย readline library ซึ่งเป็นไลบรารีที่ใช้ร่วมกันในหลายโปรแกรมแบบ CLI เช่น bash, python, mysql, หรือ gnuplot
ดังนั้น เมื่อคุ้นเคยกับคีย์ลัดใน readline แล้ว เช่น
Ctrl + A → เลื่อนไปต้นบรรทัด
Ctrl + E → เลื่อนไปท้ายบรรทัด
Ctrl + R → ค้นหาคำสั่งย้อนหลัง
Tab → เติมเต็มคำสั่ง
จะช่วยให้สามารถใช้งานเทอร์มินัลได้คล่องและมีประสิทธิภาพมากขึ้น
สรุป
ฟังก์ชันการ เติมเต็มคำสั่ง (Command Completion) เป็นหนึ่งในคุณสมบัติเด่นของ Bash ที่ช่วยให้ผู้ใช้ทำงานได้รวดเร็วขึ้น ลดความผิดพลาดจากการพิมพ์คำสั่งผิด และเพิ่มความสะดวกในการใช้งาน โดยเฉพาะเมื่อรวมกับ bash-completion และ readline library ซึ่งช่วยให้เทอร์มินัลของลินุกซ์มีความฉลาดและตอบสนองต่อผู้ใช้ได้มากขึ้น
ฝากติดตามซีรีส์การใช้ Linux ขั้นพื้นฐานด้วยนะครับ
ติดตามตอนต่อไปได้ที่ - >
https://www.blockdit.com/series/68dc9f8ccfbe2a355b6c87d6
linux
เทคโนโลยี
ความรู้รอบตัว
บันทึก
ดูเพิ่มเติมในซีรีส์
Linux พื้นฐาน
โฆษณา
ดาวน์โหลดแอปพลิเคชัน
© 2025 Blockdit
เกี่ยวกับ
ช่วยเหลือ
คำถามที่พบบ่อย
นโยบายการโฆษณาและบูสต์โพสต์
นโยบายความเป็นส่วนตัว
แนวทางการใช้แบรนด์ Blockdit
Blockdit เพื่อธุรกิจ
ไทย