6 คำสั่งใน Terminal ที่ช่วยเพิ่มความเร็วในการเขียน Code

06-พ.ย.-25

คัมภีร์เทพ IT

แม้ระบบปฏิบัติการในยุคนี้ จะมี GUI ที่ครบเครื่องและใช้งานง่าย แต่สำหรับ Developer หลายคนแล้ว การทำงานผ่าน Command Line ยังคงให้ความรู้สึกที่ “เป็นมิตรและแม่นยำกว่า” โดยเฉพาะเมื่อรู้จักใช้คำสั่งพื้นฐานต่าง ๆ ให้เต็มประสิทธิภาพ และนี่ก็เป็น 6 คำสั่งใน Terminal ที่ช่วยเพิ่มความเร็วในการเขียน Code

1. ใช้ Grep เพื่อค้นหาโค้ดอย่างรวดเร็ว

คำสั่ง grep ที่เป็นที่รู้จักกันดี จะช่วยให้เราสามารถค้นหา Text Patterns ในผลลัพธ์ของคำสั่งหรือภายในไฟล์ได้

Developer มักใช้คำสั่ง grep เพื่อเขียน Portable Shell Scripts สำหรับค้นหา String Segments ด้วย Regular Expressions มากกว่าการใช้มันโดยตรงผ่าน Terminal

อย่างไรก็ตาม คำสั่ง grep ถือเป็นเครื่องมือที่มีประโยชน์อย่างมากสำหรับการค้นหา Text Segments ภายในไฟล์ต่าง ๆ หลายไฟล์จาก Terminal ได้ทันที ดังนั้น เราสามารถใช้มันเพื่อค้นหาและตรวจสอบ Code Segments ใน Codebase ขนาดใหญ่ได้อย่างมีประสิทธิภาพ

ตัวอย่างการใช้งาน: นี่คือการใช้ Code Editor แบบ GUI ที่เบามากและเรียบง่ายชื่อ Lite-XL และใช้ grep แยกต่างหากใน Terminal Window เพื่อค้นหา Code Segments ได้อย่างมีประสิทธิภาพดังนี้

คำสั่ง grep ข้างต้น จะพิมพ์ผลลัพธ์ของทุก <regex> ที่อยู่ใน api Directory พร้อมหมายเลขบรรทัด:

การใช้คำสั่ง Grep เพื่อค้นหา Code Segments ใน Codebase (โดยผู้เขียนบทความ)

2. ใช้คำสั่ง tree เพื่อดู Directory Structure แบบภาพรวม

คำสั่ง ls ถูกใช้เพื่อแสดง Directory Contents ด้วยโครงสร้างแบบแถวและคอลัมน์ที่เรียบง่าย แต่ถ้าคุณต้องการมองเห็น Directory Structure ในรูปแบบ “tree” ล่ะ?

เราสามารถสร้าง Command Alias สำหรับสิ่งนี้โดยใช้คำสั่ง ls ร่วมกับคำสั่ง sed ได้ก็จริง แต่คุณสามารถประหยัดเวลาได้มากกว่านั้นด้วยการติดตั้งคำสั่ง tree ที่พัฒนามาให้พร้อมใช้งานแล้ว

เพียงพิมพ์คำสั่ง tree ตามด้วย less ซึ่งจะช่วยให้คุณสามารถเลื่อนดู Structure ทั้งหมดของ Directory ปัจจุบันได้:

การเลื่อนดู Directory Structure ทั้งหมดด้วยคำสั่ง tree และ less (โดยผู้เขียนบทความ)

ในขณะเดียวกัน -d Option จะช่วยให้คุณแสดงเฉพาะ Node ของ Directory ใน Tree Structure:

คุณยังสามารถจำกัดระดับความลึกของการแสดงผล เพื่อดูเพียงบางระดับของ Directory ได้ดังนี้:

การจำกัดความลึกของ Tree Structure ไว้เพียงสองระดับ (โดยผู้เขียนบทความ)

3. สร้าง Directory Structure ด้วย mkdir + Brace Expansion

ถ้าคุณไม่รู้จัก Bash Brace Expansion Feature คุณจะต้องพิมพ์ Parameters ซ้ำ ๆ หลายครั้งกับ mkdir หรือไม่ก็ต้องRun คำสั่ง mkdir หลายรอบเพื่อสร้าง Directory Structure สำหรับ Project ใหม่หรืองาน Programming ปัจจุบัน

Brace Expansion Feature ของ Bash Interpreter จะช่วยให้เราสามารถสร้าง Parameters แบบ Dynamics ได้ด้วย Syntax พิเศษ โดยไม่จำเป็นต้องใช้ Loop Structure ใด ๆ เลย

ตัวอย่างเช่น Bash Command Snippet ต่อไปนี้ จะสร้าง Directory สองระดับ รวมทั้งหมด 6 Directories ด้วยคำสั่งง่าย ๆ เพียงคำสั่งเดียวเท่านั้น:

การสร้าง Directory Structure ที่ซับซ้อนด้วยคำสั่ง Bash เพียงคำสั่งเดียว (โดยผู้เขียนบทความ)

ตัว Bash Interpreter จะขยายคำสั่งที่เรียบง่ายด้านบนนี้ออกเป็นคำสั่งที่ซับซ้อนโดยอัตโนมัติก่อนที่จะ Run จริง ดังนี้:

4. สร้างหลายไฟล์พร้อมกันด้วย touch + Brace Expansion

Brace Expansion Feature สามารถใช้ได้ทุกที่ คุณสามารถใช้มันกับคำสั่งใดก็ได้ และใช้ได้ทุกที่ภายใน Shell Scripts ของคุณ ตัวอย่างเช่น คุณสามารถใช้มันเพื่อสร้าง Elements ใน Array แบบ Sequential ได้ทันที เช่นเดียวกับตัวอย่างก่อนหน้านี้ที่ใช้ mkdir คุณสามารถใช้ Brace Expansion Feature กับคำสั่ง touch เพื่อสร้างหลายไฟล์ได้ทันทีอย่างมีประสิทธิภาพเช่นกัน

คำสั่ง Bash ที่เรียบง่ายต่อไปนี้ จะเป็นการสร้างไฟล์ว่างเปล่าที่ชื่อว่า index.js ภายในแต่ละ Subfolder ที่เราสร้างไว้ก่อนหน้านี้:

การสร้างหลายไฟล์พร้อมกันด้วย Bash Brace Expansion (โดยผู้เขียนบทความ)

นอกจากนี้ยังสามารถสร้างชื่อไฟล์แบบ Dynamic ได้ด้วย Sequential Range Syntax เช่น:

คำสั่งนี้จะสร้างไฟล์ทั้งหมด 260 ไฟล์ภายใน data Directory โดยชื่อไฟล์จะเริ่มตั้งแต่ input_a0.txt ไปจนถึง input_z9.txt

5. ใช้ประโยชน์จาก Command History

Developer ส่วนใหญ่ใช้ปุ่มลูกศรขึ้น–ลง หรือใช้ Reverse Search Feature (Ctrl + R) เพื่อค้นหาและเรียกใช้คำสั่งที่เคย Run ไปก่อนหน้าใน Terminal ซึ่งวิธีนี้เหมาะสมที่สุดเมื่อคุณต้องการจะ Run คำสั่งล่าสุด หรือรู้บางส่วนของคำสั่งนั้น แต่ถ้าคุณต้องการหาคำสั่งที่ไม่รู้แน่ชัด หรือ Run ไปนานแล้วล่ะ?

คำสั่ง history จะช่วยให้คุณตรวจสอบประวัติคำสั่งทั้งหมดได้ โดยมันจะแสดงคำสั่งทุกคำสั่งพร้อมหมายเลขเฉพาะ (Unique Number) ที่คุณสามารถใช้เพื่อ Run คำสั่งนั้นได้ทันที

สมมติว่า คุณต้องการดูคำสั่งทั้งหมดที่มีคำว่า node ในประวัติคำสั่ง และต้องการ Run คำสั่งเฉพาะอย่างรวดเร็ว

คุณสามารถทำได้อย่างมีประสิทธิภาพด้วยการใช้ history, grep, และ Bash ! syntax ดังนี้:

การตรวจสอบคำสั่งที่เคย Run และเรียกใช้คำสั่งใดคำสั่งหนึ่งได้ทันที (โดยผู้เขียนบทความ)

6. ใช้ bc หรือ Python REPL เป็นเครื่องคิดเลข

จะทำอย่างไร ถ้าคุณต้องการคำนวณเล็ก ๆ น้อย ๆ หรือทดสอบสูตรบางอย่างในขณะที่กำลังเขียนอัลกอริทึมเชิงคำนวณ (Computational Algorithm) อันที่จริงคุณสามารถใช้ Google Search เป็นเครื่องคิดเลขสำหรับการคำนวณเล็ก ๆ น้อย ๆ เหล่านี้ได้ แต่การใช้ bc หรือ python ดูจะเป็นเป็นวิธีที่มีประสิทธิภาพมากกว่าในการทำการคำนวณเชิงโต้ตอบ (Interactive Calculations) ระหว่างการเขียน Program

Developers ส่วนใหญ่จะรู้จัก bc ว่าเป็นทางออกสำหรับการทำ Floating-Point Math ใน Bash Shell Scripts แต่ในความเป็นจริง Interactive Calculations ของมันนั้นดูน่าประทับใจยิ่งกว่า:

การคำนวณอย่างง่ายโดยใช้ตัวแปรใน bc (โดยผู้เขียนบทความ)

โดยค่าเริ่มต้นแล้ว Shell แบบ Interactive ของ bc จะไม่อนุญาตให้ทำ Floating-Point Math ได้ เพราะค่าของ Scale เริ่มต้นคือ 0 ดังนั้น คุณต้องเปลี่ยนค่า Scale ก่อนทำการคำนวณ Floating-Point ได้ดังนี้:

หรือคุณสามารถตั้งค่า Scale เริ่มต้นเป็น 20 ได้ในตอนเปิดใช้งาน Shell ของ bc โดยใช้ Option -l แบบนี้

Python REPL ก็สามารถใช้เป็นเครื่องคิดเลขที่มีประสิทธิภาพและทันสมัยได้ โดยการใช้ Built-in Functions ได้อย่างมีประสิทธิภาพ:

การใช้ Python REPL เป็นเครื่องคิดเลข (โดยผู้เขียนบทความ)

สรุป

และนี่ก็คือ 6 คำสั่งใน Terminal ที่ช่วยเพิ่มความเร็วในการเขียน Code ซึ่ง Bash เป็นเครื่องมือที่เรียบง่ายแต่ทรงพลัง มันจะช่วยให้เราทำงานซ้ำ ๆ ได้เร็วขึ้นและโฟกัสกับสิ่งที่สำคัญกว่าคือ การเขียน Code ได้ การเรียนรู้คำสั่งพื้นฐานอย่าง greptree, หรือ history รวมถึง Feature ของ Bash เช่น Brace Expansion จะช่วยยกระดับ Productivity ของคุณได้อย่างชัดเจน ดังนั้น ให้เริ่มฝึกใช้คำสั่งเหล่านี้ในชีวิตประจำวัน แล้วคุณจะรู้ว่า “การเขียน Code ให้ไวขึ้น” ไม่จำเป็นต้องมาจากเครื่องที่สเปคแรง ๆ หรือ IDE ที่ซับซ้อนเสมอไป

ที่มา: https://levelup.gitconnected.com/

 

 

รับตำแหน่งงานไอทีใหม่ๆ ด้วยบริการ IT Job Alert

 

อัพเดทบทความจากคนวงในสายไอทีทาง LINE ก่อนใคร
อย่าลืมแอดไลน์ @techstarth เป็นเพื่อนนะคะ

เพิ่มเพื่อน

 

บทความล่าสุด