หากเราต้องการใช้งานระบบปฏิบัติการลินุกซ์อย่างเต็มประสิทธิภาพ คงหลีกเลี่ยงไม่ได้ที่จะต้องใช้งานในแบบคำสั่งผ่านหน้าจอคอนโซล การใช้งานแบบคำสั่งนอกจากจะเร็วกว่าการใช้ GUI แล้ว ยังสามารถทำงานยากๆให้ง่ายได้ เช่น การใช้สคริปไฟล์ (shell script) เพื่อให้ระบบทำงานให้เราอย่างอัตโนมัติตามเงื่อนไขที่เรากำหนดไว้ หรือการส่งผลลัพธ์จากคำสั่งหนึ่งไปเป็นอินพุทของอีกคำสั่งหนึ่งก็สามารถทำได้ และนอกจากการสั่งงานโดยตรงจากเครื่องตัวเองแล้ว เรายังสามารถเข้ามาใช้งานจากเครื่องอื่นได้ด้วย (remote access) 

     การใช้งานแบบคำสั่งเป็นการใช้งานผ่านหน้าจอคอนโซลโดยในอูบุญตูเราสามารถเปิดหน้าจอคอนโซลได้โดยการคลิ๊กขวาที่หน้าเดสก์ทอปแล้วเลือก Open Teminal ซึ่งจะเป็นการเรียกแอพพลิเคชั่น gnome-terminal (ซึ่งจะไปเรียกโปรเซส bash shell มาทำงานอีกทีหนึ่ง) มาให้เราใช้งาน นอกจาก gnome-terminal แล้วยังมีแอพพลิเคชั่น terminal emulator อื่นๆอีก เช่น xterm, rxvt, konxsole, terminator ขึ้นอยู่กับแต่ละดิสโทรว่าจะให้แอพพลิเคชั่นใดมา 

ภาพหน้าจอ terminal emulator

     คำสั่งจะประกอบด้วย 3 ส่วนคือ ตัวคำสั่ง (command) ตัวเลือก (option) ซึ่งนำหน้าด้วย –  หรือ — และ ตัวแปรที่กำหนดให้คำสั่งเอาไปดำเนินงาน (arguments) เช่น ตัวอย่างด้านล่างคำสั่งคือ cat ตัวเลือกคือ -n และตัวแปรคือ a.txt โดยคำสั่งนี้ให้แสดงเนื้อหาจากไฟล์ a.txt โดยใส่เลขบรรทัด (-n) ให้ด้วย

ภาพแสดงการใช้คำสั่ง cat

     สำหรับดิสทริบิวชั่นอื่นๆ การเรียกใช้หน้าจอคอนโซลก็แตกต่างกันไป เช่น CentOS 7 และ openSUSE-Leap-42 ที่ใช้ GNOME Desktop ให้คลิ๊ก Applications->Utilities->Terminal ถ้าเป็น openSUSE-Leap-42 ที่ใช้ KDE Desktop ให้คลิ๊ก System->Konsole ส่วน Ubuntu 18.10 LTS ให้คลิ๊กที่ Activities และพิมพ์  terminal ในช่อง Search หรือ คลิ๊กขวาที่หน้าเดสก์ทอป แล้วเลือก Open Teminal 

     หน้าจอคอนโซลตามที่เล่ามาเป็นหน้าจอภายใต้ GUI แต่เรายังมีหน้าจอคอนโซลอีกแบบเรียกว่าเวอร์ชวลเทอร์มินอล ( virtual terminal) ซึ่งเราสามารถเปิดหน้าจอคอนโซลโดยการกด Ctrl+Alt+ F1 – F6 และหากต้องการกลับมาที่หน้าเดสก์ทอปทำได้โดยกด Ctrl+Alt+ F7 ซึ่ง GUI ก็ใช้หนึ่งในหน้าจอคอนโซลในการแสดงผล การใช้หน้าจอคอนโซลจะทำให้เราสามารถทำงานที่แตกต่างกันในแต่ละหน้าจอคอนโซลได้ เช่น ในกรณีที่หน้าจอ GUI เกิดแฮงค์ขึ้นมาเราสามารถสลับมาที่หน้าจอคอนโซลอื่นเพื่อแก้ไขปัญหานั้นได้ เป็นต้น  เมื่อเราเปิดหน้าจอคอนโซลขึ้นมาระบบจะถามให้ใส่ชื่อผู้ใช้งานและรหัสผ่าน  ทั้งนี้การเปลี่ยนหน้าจอคอนโซลในแต่ละดิสทริบัวชั่นอาจจะแตกต่างกันไป เช่น ใน Ubuntu Desktop 18.10 ค่าเริ่มต้นจากการติดตั้งคือเปิดหน้าจอคอนโซล Ctrl+Alt+ F1 ซึ่งคือหน้า log in และหน้าจอคอนโซล Ctrl+Alt+ F2 คือ หน้าจอที่แสดง GUI ส่วนหน้าจอคอนโซลอื่นๆคือ Ctrl+Alt+ F3 – F6

     ในการใช้งานระบบปฏิบัติการลินุกซ์ในแบบเซอร์ฟเวอร์ ในขั้นตอนการติดตั้งตัวติดตั้งมักจะไม่ติดตั้ง GUI (X Windows) มาให้ด้วย ดังนั้นหน้าจอที่ผู้ใช้งานจะพบหลังจากบู๊ตระบบเสร็จก็คือหน้าจอคอนโซลที่เป็นเวอร์ชวลเทอร์มินอลนั่นเองพร้อมกับถามให้เราใส่ชื่อผู้ใช้และรหัสผ่าน โดยหน้าจอจะไม่แสดงอะไรในระหว่างที่พิมพ์รหัสผ่านเพื่อความปลอดภัย ส่วนการรีโมทไปใช้งานเครื่องอื่นที่เรามีชื่อผู้ใช้งานอยู่ทำได้ได้โดยใช้คำสั่ง ssh username@remote-server.com  โดย remote-server.com คือชื่อเครื่องที่ต้องการ login  และ username คือชื่อผู้ใช้งานของเราบนเครื่องนั้น 

ภาพตัวอย่างหน้าจอคอนโซล

     การทำงานในแบบคำสั่งเป็นการทำงานโดยใช้แอพพลิเคชั่นเชลล์ แอพพลิเคชั่นเชลล์จะเก็บประวัติการใช้คำสั่งของเราไว้ในไฟล์ ~/.bash_history ซึ่งเราสามารถเรียกดูคำสั่งที่ทำไปก่อนหน้านี้ได้โดยการกดปุ่มลูกศรขึ้นหรือลง  หรือกดปุ่ม pageupหรือpagedown ขึ้นอยู่กับดิสทริบัวชั่นที่ใช้งาน หรือใช้คำสั่ง history ตัวอย่างเช่น ลองเปิดหน้าจอคอนโซลแล้วป้อนคำสั่ง ls เพื่อแสดงไฟล์และไดเร็คทอรี่ จากนั้นให้ปิดหน้าจอคอนโซลแล้วเปิดขึ้นมาใหม่ จากนั้นใช้ลูกศรขึ้นเพื่อดูคำสั่งที่ใช้งานก่อนหน้าซึ่งเราจะพบคำสั่ง ls เราพึ่งเรียกใช้งานไปนั่นเอง

     ในการทำงานแบบคำสั่งเราสามารถใช้คีย์ลัดเพื่อประหยัดเวลาในการทำงานได้ดังนี้ ตัวอย่างการใช้คีย์ลัด เช่น Ctrl+c คือให้กดปุ่ม Ctrl ค้างไว้และกดปุ่ม c  หรือในกรณีที่คัย์ลัดประกอบด้วยการกด 3 ปุ่ม เช่น Ctrl+Alt+Delete คือให้กดปุ่ม Ctrl ค้างไว้ตามด้วยกดปุ่ม Alt ค้างไว้ และกดปุ่ม Delete

Ctrl+l เป็นการล้างหน้าจอ

Ctrl+d เป็นการออกจากเชลล์ปัจจุบัน (ปิดหน้าจอคอนโซล)

Ctrl+z สั่งให้โปรเซสที่กำลังทำงานอยู่ไปทำงานในแบบเบื้องหลัง

Ctrl+c สั่งปิดโปรเซสที่กำลังทำงาน

Ctrl+h ทำงานเหมือนกดปุ่ม backspace

Ctrl+a เลื่อนเคอร์เซอร์ไปที่ต้นบรรทัด

Ctrl+w ลบข้อความหน้าเคอร์เซอร์

Ctrl+u ลบข้อความตั้งแต่ต้นบรรทัดจนถึงเคอร์เซอร์

Ctrl+e เลื่อนเคอร์เซอร์ไปที่ท้ายบรรทัด

 Tab กดเพื่อเติมเต็มชื่อไฟล์ ไดเร็คทอรี่ โดยเราพิมพ์บางส่วนของชื่อไปก่อน

     สำหรับคำสั่งที่เกี่ยวกับการจัดการเครื่องคอมพิวเตอร์ในเบื้องต้นตัวอย่างเช่น

คำสั่ง uname

     คำสั่ง uname จะแสดงข้อมูลของเครื่องคอมพิวเตอร์ที่เราใช้งานว่าเป็นลินุกซ์ดิสทริบิวชั่นใด โดยเราสามารถใช้ออปชั่น -a และ -r เพื่อแสดงข้อมูลเพิ่มเติม

ภาพแสดงการใช้คำสั่ง uname

คำสั่ง date

     คำสั่ง date จะแสดงวันที่และเวลาปัจจุบัยของเครื่องที่เราใช้งาน

ภาพแสดงการใช้คำสั่ง date

คำสั่ง tty

     คำสั่ง tty จะแสดงชื่อหน้าจอที่กำลังใช้งานอยู่

ภาพแสดงการใช้คำสั่ง tty

คำสั่ง history

     ในการใช้งานหน้าจอคอนโซลซึ่งก็คือการใช้งานแอพพลิเคชั่นเชลล์ ซึ่งจะคอยรับคำสั่งและแปลคำสั่งเพื่อให้เครื่องคอมพิวเคอร์ทำงานตามที่ต้องการ  แอพพลิเคชั่นเชลล์จะเก็บประวัติการใช้งานคำสั่งที่เราพิมพ์ลงไป เราสามารถเรียกใช้คำสั่งที่เคยใช้งานโดยการกดลูกศรขึ้นเพื่อเลื่อนหาคำสั่งที่ต้องการ ส่วนคำสั่ง history จะแสดงคำสั่งต่างๆที่เราเคยใช้งานมาทั้งหมด

คำสั่ง reset

     ในบางครั้งผู้ใช้อาจจะใช้คำสั่งบางอย่างผิดพลาดจนทำให้การแสดงผลของหน้าจอผิดปรกติไป เช่น แสดงอักขระที่อ่านไมออก เราสามารถใช้คำสั่ง reset เพื่อให้หน้าจอคอนโซลเริ่มทำงานใหม่อีกครั้งและกลับสู่สภาพปรกติ

การขัดจังหวะการทำงานของโปรแกรม

     ขณะที่โปรแกรมกำลังทำงานอยู่ เราสามารถสั่งให้ยุติการทำงานได้โดยการกดปุ่ม Ctrl + c

คำสั่ง shutdown

     สำหรับการการปิดเครื่องเราใช้คำสั่ง shutdown ซึ่งในกรณีที่มีผู้ใช้งานเข้ามาใช้งานจากเครื่องอื่นๆ ระบบจะแจ้งไปยังผู้ใช้งานเหล่านั้นว่าระบบจะปิด หากต้องการรีบู๊ตเราใช้คำสั่ง shutdown -r  หรือ หากเราต้องการหน่วงเวลาก่อนที่ระบบจะปิดเพื่อให้ผู้ใช้งานรีบบันทึกงานที่ทำไว้ก่อน และต้องการแจ้งผู้ใช้งานที่กำลังใช้งานว่าจะปิดระบบ รวมถึงป้องกันไม่ให้ผู้ใช้งานใหม่ log in เข้ามาได้ เราใช้คำสั่ง shutdown -h และระบุเวลา เช่น เราใช้คำสั่งตามตัวอย่างด้านล่างในการแจ้งเตือนผู้ใช้งานว่าจะมีการปิดระบบโดยระบุเวลาที่จะปิดเครื่องในรูปแบบ 24 ชั่วโมงเพื่อบำรุงรักษาในเวลา 10.00

sudo shutdown -h 10:00 “Shutting down for scheduled maintenance.”

     นอกจากคำสั่ง shutdown แล้วยังมีคำสั่งอื่นในการปิดเครื่องหรือบูตเครื่องโดยเฉพาะ ตัวอย่างเช่น การปิดเครื่องสามารถใช้คำสั่ง shutdown -h now , halt -p , poweroff หรือ init 0 ส่วนการบูตเครื่องใหม่สามารถใช้คำสั่ง shutdown – r now , reboot , init 6 หรือ กดปุ่ม Ctrl + Alt +Del เป็นต้น

คำสั่ง logout

     คำสั่ง logout เป็นคำสั่งที่ใช้ในการออกจากการทำงาน หรือเราสามารถกด Ctrl+D หรือ พิมพ์คำสั่ง exit แทนก็ได้เช่นกัน