เดาคำสั่งส่วนที่เหลือด้วย ปุ่ม Tab


Posted in:

เวลาที่ เรียกใช้ คำสั่ง บน command-line แล้วเผอิญ คำสั่ง หรือ ชื่อไฟล์/ไดเรกทอรี มันยาว
ปุ่ม Tab ช่วยคุณได้ครับ

เช่นผม มี ไดเรกทอรี ชื่อ mypics mymusic mycd ครับ

ผมพิมพ์ แค่ cd myp หลังจากนั้น กด Tab มันจะขึ้น cd mypics ให้ทันทีเลยครับ

และถ้ามันพบหลายอัน เช่น
cd my แล้วกด Tab มันจะไม่ขึ้นอะไรครับ เพราะเจอหลายอัน แต่ถ้ากด tab ซ้ำอีกที
มันจะแสดงสิ่งที่เป็นไปได้ทั้งหมดออกมาครับ คือทั้ง mypics mymusic mycd ครับผม
เราก็พิมพ์ต่อได้เลย

วิธีการนี้ยังใช้ได้ทั้ง ชื่อไฟล์ และคำสั่ง ด้วยนะครับ

และยังใช้ต่อเนื่อง เวลาเรา เข้าไปในไดเรกทอรี ซ้อนๆ กันหลายๆชั้นด้วยครับ

NOKy

โอ้ว มีประโยชน์มากๆเลยครับ

เป็นสิ่งพ

เป็นสิ่งพื้นฐานที่ไม่ค่อยมีใครพูดถึงเพราะคิดว่าเป็นเรื่องที่รู้อยู่แล้ว แต่มาคิดดู อาจจะไม่ใช่แฮะ ผมว่ามือใหม่หลายคนอาจยังไม่รู้ น่าจะเอาสิ่งพื้นฐานที่ควรใช้เหล่านี้มาลงกันบ่อยๆ

ยังมีแจ่มๆ อีก

ปุ่ม TAB ยังมีอะไรที่แจ่มกว่าเดาคำสั่ง หรือ file , directory อีกนะครับ คือโดยปกติแล้วบน Ubuntu จะเปิดความสามารถในการเดา option คำสั่งมาให้ด้วย เช่น

$ sudo apt-get TAB TAB

ก็จะขึ้น list ของ options มาให้ แต่ก็เฉพาะบางคำสั่งที่เขียนกฎไว้ แต่ที่แจ่มกว่าอีกคือ

$ sudo apt-get install a TAB TAB

ก็จะ list packages ที่ขึ้นต้นด้วย a มาให้ดู ว้าววว แจ่มไหมๆ

ความสามารถนี้เรียกว่า completion ซึ่ง user จะใช้ได้ทันที แต่ถ้า login เป็น root จะต้องเปิดใน /etc/bash.bashrc (เปิดทั้งหมด) แต่ถ้าเฉพาะ root ก็ /root/.bashrc โดยปลด comment ออกที่

if [ -f /etc/bash_completion ]; then
. /etc/bash_completion
fi

แต่ถ้าใครใช้ ubuntu มานาน apt dist-upgrade มาจากตัวเก่าๆ อาจจะต้องเขียนสามบรรทัดนั้นเอาเองนะ (Dapper ไม่แน่ใจ)
นอกจากนี้ completion ยังช่วยเดาเรื่องนามสกุลของ file ที่เปิดได้กับโปรแกรมนั้นๆ ด้วย เช่น

$ mplayer TAB TAB

มันก็จะคิดเลือก file ที่สามารถเปิดกับ mplayer ได้ แต่ความสามารถนี้ผมว่าบางครั้งก็ขัดใจเพราะบางแฟ้มนามสกุลแปลกๆ แต่ก็เปิดได้เป็นต้นใครสนใจแกะวิธีเขียนกฎก็นี่เลย

/etc/bash_completion
/etc/bash_completion.d/*

ถ้าใครใช้ debian ก็ต้องลง git-completion เพิ่มครับ ขอให้สนุกกับ command line

ปล. เจอวิธีนี้เพราะชอบ กด TAB ตลอด

สุดยอด

$ sudo apt-get install a TAB TAB

โอ้โห้ ไม่เคยรู้อันนี้มาก่อนเลยครับ สุดยอด ขอบคุณมากครับ
- - - - - - - - - - - - - - - - -
burlight@ปัญหาในประเทศไทย

Ops! Dd d df d df df df d

Ops! Dd d df d df df df d fg bfg!

Post new comment

The content of this field is kept private and will not be shown publicly.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.
  • Allowed HTML tags: <i> <center> <span> <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <br> <dt> <dd> <object> <embed> <hr> <img> <blockquote> <b> <u> <del> <div> <p> <table> <tr> <td> <font>

More information about formatting options