2 ต.ค. เวลา 23:12 • วิทยาศาสตร์ & เทคโนโลยี

ลินุกซ์พื้นฐาน : เชลล์เบื้องต้น

เมื่อเริ่มต้นศึกษาลินุกซ์ สิ่งสำคัญที่ผู้ใช้ควรรู้จักคือ “เชลล์” (Shell) ซึ่งเป็นโปรแกรมหลักที่ทำหน้าที่เป็นตัวกลางระหว่างผู้ใช้กับระบบปฏิบัติการ เชลล์คือส่วนที่รับคำสั่งจากผู้ใช้แล้วส่งต่อให้ เคอร์เนล (Kernel) ดำเนินการตามนั้น กล่าวอีกอย่างหนึ่งคือ เชลล์เปรียบเสมือน “เปลือก” ที่ห่อหุ้มแก่นของระบบปฏิบัติการไว้นั่นเอง
เชลล์ไม่ใช่ DOS
หลายคนมักเข้าใจผิดว่าเชลล์คือ DOS หรือทำงานเหมือน DOS ทั้งที่ความจริงแล้ว DOS เป็นระบบปฏิบัติการ ส่วนเชลล์เป็นเพียง โปรแกรม ที่ใช้ในการติดต่อกับระบบผ่านอินเทอร์เฟสแบบ CLI (Command Line Interface) ความคล้ายคลึงกันเพียงอย่างเดียวคือทั้งคู่ใช้การพิมพ์คำสั่งผ่านบรรทัดคำสั่ง
ความสำคัญของเชลล์ในยุคกราฟิก
แม้ปัจจุบันอินเทอร์เฟสแบบกราฟิก (GUI) จะได้รับความนิยมอย่างแพร่หลาย แต่ CLI ก็ยังมีความสำคัญและไม่ได้ล้าสมัย เพราะเชลล์สามารถทำงานได้ด้วยเพียง แป้นพิมพ์และหน้าจอแสดงผลแบบตัวอักษร ซึ่งต้องการทรัพยากรของระบบน้อยกว่า GUI มาก
ผู้ที่คุ้นเคยกับการใช้แป้นพิมพ์สามารถพิมพ์คำสั่งได้รวดเร็วกว่าการใช้เมาส์ เพราะการใช้เมาส์ต้องผ่านหลายขั้นตอน เช่น เลื่อน เคลื่อนตำแหน่ง และคลิก ส่วนการพิมพ์คำสั่งสามารถทำได้ทันทีเมื่อจำตำแหน่งปุ่มได้ นอกจากนี้ เชลล์ยังสามารถ เขียนชุดคำสั่งให้ทำงานแบบอัตโนมัติ ได้ ซึ่งช่วยลดขั้นตอนและเพิ่มประสิทธิภาพในการทำงาน
วิวัฒนาการของเชลล์
ในยุคแรกของระบบยูนิกซ์ มีเชลล์ที่เรียกว่า Bourne shell (sh) สร้างโดย Stephen Bourne ต่อมา Bill Joy ได้พัฒนา C shell (csh) ที่มีไวยากรณ์คล้ายภาษา C และเพิ่มความสามารถมากขึ้น หลังจากนั้นก็มีเชลล์อื่น ๆ เกิดขึ้นอีกหลายตัว เช่น
Korn shell (ksh)
Bourne-again shell (bash)
Z shell (zsh)
โดยในระบบลินุกซ์ bash มักถูกเลือกเป็นเชลล์ปริยาย (default shell) ซึ่งเป็นหนึ่งในโปรแกรมของโครงการ GNU พัฒนาโดย Brian Fox และ Chet Ramey จุดเด่นของ bash ได้แก่ การแก้ไขบรรทัดคำสั่ง การโต้ตอบกับผู้ใช้ และความสามารถในการ “เติมคำสั่งอัตโนมัติ” (auto-completion) เป็นต้น
>หมายเหตุ: ในระบบลินุกซ์ คำสั่ง sh มักเป็น symbolic link ที่ชี้ไปยัง bash
ส่วน zsh ซึ่ง “z” หมายถึง “เชลล์ตัวสุดท้าย” ได้รวมข้อดีของเชลล์หลายตัวเข้าด้วยกันจนกลายเป็นหนึ่งในเชลล์ที่ทรงพลังและยืดหยุ่นมากที่สุด
เชลล์คือโปรแกรมแปลคำสั่ง
สาเหตุที่เรียกว่า “เชลล์” เพราะมันทำหน้าที่เป็น command interpreter หรือโปรแกรมแปลคำสั่งจากผู้ใช้ให้ระบบเข้าใจและดำเนินการได้ เชลล์มีความสามารถแบบ interactive คือโต้ตอบกับผู้ใช้ได้โดยตรง รวมถึง
รับตัวแปรหรือค่าจากแป้นพิมพ์และไฟล์
เรียกใช้งานโปรแกรมต่าง ๆ
รับและส่งข้อมูลระหว่างโปรแกรม
คำสั่งภายในและภายนอก
คำสั่ง (command) ที่เชลล์สามารถดำเนินการได้เองเรียกว่า คำสั่งภายใน (shell built-in command) ตัวอย่างเช่น
cd – เปลี่ยนไดเรกทอรี
pwd – แสดงไดเรกทอรีปัจจุบัน
fg – ดึงงานเบื้องหลังกลับมาทำงานเบื้องหน้า
ส่วนคำสั่งที่เชลล์ต้องเรียกโปรแกรมภายนอกมาทำงาน เรียกว่า คำสั่งภายนอก (external command) ตัวอย่างเช่น
ls – แสดงรายการไฟล์
cp – คัดลอกไฟล์
rm – ลบไฟล์
สรุป
เชลล์เป็นส่วนสำคัญที่ทำให้ผู้ใช้สามารถสื่อสารกับระบบลินุกซ์ได้อย่างทรงพลังและยืดหยุ่น ผ่านบรรทัดคำสั่งที่ไม่เพียงแค่สั่งงานได้รวดเร็ว แต่ยังสามารถเขียนสคริปต์เพื่อทำงานอัตโนมัติได้อีกด้วย การเข้าใจพื้นฐานของเชลล์จึงเป็นก้าวแรกที่สำคัญสำหรับการใช้งานลินุกซ์อย่างมีประสิทธิภาพ
ฝากติดตามซีรีส์การใช้ Linux ขั้นพื้นฐานด้วยนะครับ
ติดตามตอนต่อไปได้ที่ - > https://www.blockdit.com/series/68dc9f8ccfbe2a355b6c87d6

ดูเพิ่มเติมในซีรีส์

โฆษณา