วิธีใช้ command-line บน Linux

command-line คืออะไร ?

command-line หรือ command-line interface เขียนย่อๆ ได้ว่า CLI คือ ส่วนติดต่อผู้ใช้แบบพิมพ์คำสั่งทีละบรรทัด โดยผู้ใช้สามารถพิมพ์คำสั่งเพื่อเรียกใช้งานโปรแกรมต่างๆ ได้ และโปรแกรมส่วนใหญ่ก็จะแสดงผลลัพธ์ในรูปแบบของข้อความ (text) ดังรูปด้านล่าง

ตัวอย่างการใช้ command-line ผ่านโปรแกรม Terminal

ทำไมต้องใช้ command-line ?

  • เพราะโปรแกรมบางตัวมีให้ใช้เฉพาะบน command-line เท่านั้น
  • เพราะโปรแกรมแบบ command-line ใช้ทรัพยากรเครื่องน้อยกว่า, ข้อผิดพลาดน้อยกว่า และทำงานได้เร็วกว่าโปรแกรมแบบ GUI เนื่องจากไม่มีภาระในส่วนของการแสดงผลกราฟิก
  • เพราะเครื่องที่จะใช้งานบางเครื่องรองรับเฉพาะการใช้งานผ่าน command-line เท่านั้น เช่น เครื่องที่เป็น Linux Server, เครื่องที่ไม่มีจอภาพ หรือเครื่องที่ต้องรีโมทเข้าใช้งานผ่าน SSH เป็นต้น
  • เพราะเราสามารถนำผลลัพธ์จาก command-line ไปใช้งานต่อได้ง่ายกว่าแบบ GUI
  • เพราะบางครั้งเราก็ไม่จำเป็นต้องเห็นผลลัพธ์เป็นภาพกราฟิก

วิธีเรียกใช้งาน command-line บน Linux

หากคุณใช้ Linux Server ซึ่งโดยปกติจะทำงานอยู่ในโหมดข้อความ (text-mode) คุณจะสามารถใช้งาน command-line ได้ทันทีที่คุณเปิดเครื่อง และเข้าสู่ระบบ

แต่สำหรับคนที่ใช้ Linux Desktop ซึ่งทำงานอยู่ในโหมดกราฟิก (graphical-mode) หากจะใช้งาน command-line สามารถทำได้ 2 วิธี คือ

  1. ใช้งาน command-line ผ่านโปรแกรม Terminal (แนะนำ)
  2. ใช้งาน command-line โดยการสลับไปที่ tty อื่น ซึ่งอยู่ในโหมดข้อความ (text-mode)

วิธีเรียกใช้งานโปรแกรม Terminal (แนะนำ)

โปรแกรม MATE Terminal

วิธีเรียกใช้งานโปรแกรม Terminal ทำได้โดยการคลิกเรียกโปรแกรมจากเมนู วิธีเดียวกับที่เราใช้เรียกโปรแกรมอื่นๆ ในเครื่อง และสำหรับ Linux บางตัว เช่น Ubuntu สามารถเรียกโปรแกรม Terminal ผ่านการกดปุ่มลัด ALT+CTRL+T เป็นต้น

วิธีสลับไปที่ tty อื่น

Linux มักจะมีหลาย tty เช่น Ubuntu มี tty1-7 โดย tty7 จะถูกใช้งานเป็น graphical-mode ส่วน tty1-6 จะเป็น text-mode ที่สามารถใช้งาน command-line ได้ (graphical-mode จะทำงานอยู่ใน tty ไหนก็ได้ แล้วแต่การตั้งค่าของ Linux แต่ละ distro)

การสลับไปมาระหว่าง tty1-7 สามารถทำได้ดังนี

  • กรณีที่คุณอยู่ใน graphical-mode ให้กดปุ่ม CTRL+ALT+Fx (Fx คือ F1 ถึง F7)
  • แต่ถ้าคุณอยู่ใน text-mode ให้กดปุ่ม ALT+Fx (Fx คือ F1 ถึง F7) ก็พอไม่ต้องกด CTRL
  • หรือพิมพ์คำสั่ง sudo chvt x (x คือตัวเลข 1 ถึง 7)

ซึ่งวิธีสลับ tty นี้ แม้แต่ผมเองก็ไม่ค่อยจะได้ใช้สักเท่าไหร่ จะใช้ก็ต่อเมื่อโปรแกรมในโหมดกราฟิคค้างจนใช้งานไม่ได้ และปิดไม่ได้จากในโหมดกราฟิก หรืออยากจะใช้งาน text-mode แบบเต็มหน้าจอเป็นต้น

วิธีพิมพ์คำสั่งลงบน command-line

วิธีพิมพ์คำสั่งบน command-line ผมจะขอยกตัวอย่างเป็น command-line บน Ubuntu ดังนี้

command-line บน Ubuntu จะแสดง prompt เพื่อบอกผู้ใช้ว่าพร้อมรับคำสั่งแล้ว โดย prompt ใน Ubuntu จะประกอบไปด้วย <username>@<hostname>:<working_directory> แล้วปิดท้ายด้วย $ สำหรับ user ทั่วไป หรือปิดท้ายด้วย # สำหรับ root user (ถ้าเป็น Linux distro อื่น หน้าตา prompt อาจแตกต่างออกไป)

  • username คือ ชื่อผู้ใช้
  • hostname คือ ชื่อเครื่อง
  • working_directory คือ ชื่อไดเรคทอรีปัจุบัน จะแสดงเป็นเครื่องหมาย ~ เมื่อเราอยู่ในโฮมไดเรคทอรีของตัวเอง เช่น /home/<your_username> หรือ /root เมื่อชื่อผู้ใช้เป็น root
[email protected]:~$
[email protected]:~#

เมื่อคุณเห็น prompt ที่ปิดท้ายด้วยเครื่องหมาย $ หรือ # คุณก็สามารถพิมพ์คำสั่ง แล้วกดปุ่ม Enter ได้เลย เช่น พิมพ์ pwd แล้วกดปุ่ม Enter เมื่อคำสั่งนั้นๆ ทำงานเสร็จสิ้น ก็จะแสดง prompt ขึ้นมาเพื่อรอรับคำสั่งอีกครั้ง ตามตัวอย่างด้านล่าง

[email protected]:~$ pwd<ENTER>
/home/poundxi
[email protected]:~$

คำสั่งบน Linux สำหรับทดลองใช้งาน command-line

คำสั่งต่อไปนี้ เป็นคำสั่งที่จะช่วยให้คุณเข้าใจภาพรวมการใช้งาน command-line เบื้องต้น เพราะเป็นคำสั่งที่ง่าย ไม่ซับซ้อน เมื่อคุณใช้งาน Linux แบบจริงจัง คุณจะรู้ และจดจำคำสั่งอื่นๆ ได้ด้วยตัวคุณเอง

  • whoami = แสดงชื่อผู้ใช้ปัจจุบัน
  • pwd = แสดงชื่อไดเรคทอรีปัจจุบัน
  • ls = แสดงรายชื่อไฟล์ และไดเรคทอรีที่อยู่ในไดเรคทอรีปัจจุบัน
  • ls -l = แสดงรายชื่อไฟล์ และไดเรคทอรีที่อยู่ในไดเรคทอรีปัจจุบัน (แสดงแบบ 1 รายการ/บรรทัด)
  • cd <directory_name> = ย้ายไปทำงานที่ไดเรคทอรีชื่อ <directory_name>
  • mkdir <directory_name> = สร้างไดเรคทอรีชื่อ <directory_name>
  • touch <filename> = สร้างไฟล์เปล่าชื่อ <filename>
  • echo “sometext” > <filename> = เขียนข้อมูล sometext ลงไปในไฟล์ชื่อ <filename> (เขียนทับ)
  • cat <filename> = แสดง/อ่านข้อมูลที่อยู่ในไฟล์ชื่อ <filename>
  • rm <filename> = ลบไฟล์ชื่อ <filename>
  • rm -r <directory_name> = ลบไดเรคทอรีชื่อ <directory_name>
  • man <command> = อ่านคู่มือการใช้งานคำสั่ง <command> อาจแทนด้วยคำสั่ง ls ชื่ออ่านคู่มือการใช้งานคำสั่ง ls และคุณสามารถออกจากคำสั่ง man ด้วยการกดปุ่ม q

ข้อมูลเพิ่มเติม

แบ่งปันสิ่งนี้บน

วิธีทำให้ Bash Prompt บน Ubuntu มีสี

ระบบปฏิบัติการ Ubuntu เลือกใช้ bash shell เป็น shell หลัก ซึ่งไม่ว่าคุณจะใช้ command-line จาก terminal, TTY หรือ SSH ก็ตามแต่ bash shell ก็จะถูกเรียกขึ้นมาให้เราใช้งานโดยอัตโนมัติ

ซึ่งค่าเริ่มต้นของ bash shell ใน Ubuntu ตรงส่วนที่เรียกว่า prompt จะไม่มีสี ซึ่งมีเหตุผลเขียนอธิบายไว้ในไฟล์ .bashrc และแปลเป็นไทยได้ว่า “ที่ทำให้ prompt ไม่มีสีเป็นค่าเริ่มต้น เพราะไม่อยากให้สี prompt ไปรบกวนสายตาผู้ใช้ และอยากให้สายตาผู้ใช้โฟกัสไปที่ การเขียนคำสั่ง และผลลัพธ์”

แต่สำหรับผม ผมก็ชอบแบบที่มีสีมากกว่า เพราะว่าเวลามีสี สีจะช่วยให้เราสามารถแยกบรรทัดที่เราพิมพ์คำสั่ง กับบรรทัดที่แสดงผลลัพธ์ได้ชัดเจน และยังช่วยให้มองเห็นรายละเอียดต่างๆ บน prompt ได้ชัดเจน เช่น username, hostname หรือ working directory เป็นต้น

วิธีตั้งค่า

วิธีตั้งค่า prompt ของ bash shell ให้มีสี ทำได้ไม่ยาก แค่เปิดไฟล์ .bashrc ที่อยู่ใน home directory ของเราด้วย text editor ตัวใดก็ได้ (ถ้ามองหาไฟล์ผ่านโปรแกรมดูไฟล์ จะมองไม่เห็นไฟล์นี้ เพราะไฟล์ถูกซ่อนอยู่ ต้องกดปุ่มลัด Ctrl+H เพื่อแสดงรายการไฟล์ที่ซ่อนอยู่เสียก่อนครับ) เลื่อนหาบรรทัดที่เขียนว่า #force_color_prompt=yes แล้วลบเครื่องหมาย # ออก จากนั้นก็บันทึกไฟล์ แล้วปิด/เปิด terminal, TTY หรือ SSH ใหม่ก็จะได้ prompt ที่มีสีให้ใช้งานแล้วครับ

อีกทางเลือกที่ง่ายกว่าคือ พิมพ์คำสั่งต่อไปนี้ลงไปบน terminal ได้เลยครับ จากนั้นก็ปิด/เปิด terminal, TTY หรือ SSH ใหม่เช่นกันครับ

คำสั่งสำหรับแสดงสี prompt ให้ user ทั่วไป

คำสั่งสำหรับแสดงสี prompt ให้ root user


ข้อมูลเพิ่มเติม

แบ่งปันสิ่งนี้บน

วิธีเปลี่ยน default terminal ใน Ubuntu MATE

เมื่อเราติดตั้งโปรแกรม terminal ตัวใหม่เพิ่มเข้ามาใน Ubuntu เช่น โปรแกรม terminator บางครั้งเราก็อยากจะใช้โปรแกรม terminal ตัวใหม่นั้นเป็นโปรแกรม terminal ตัวหลัก (default terminal) ซึ่งจะถูกเรียกขึ้นมาโดยการกดปุ่มลัด Alt+Ctrl+T

สำหรับ Ubuntu เวอร์ชั่นอื่นๆ การเปลี่ยน default terminal อาจจะสามารถใช้คำสั่งด้านล่างนี้เพื่อตั้งค่าได้

sudo update-alternatives --config x-terminal-emulator

แต่สำหรับ Ubuntu MATE จะต้องตั้งค่าผ่าน Preferred Applications ดังต่อไปนี้

  1. เปิดโปรแกรม Preferred Applications (ตำแหน่ง shortcut จะแตกต่างกันไปตามรูปแบบของ panel ที่ตั้งค่าไว้)

2. คลิกแท็บ System แล้วเลือกโปรแกรม terminal ที่ต้องการให้เป็นตัวหลักในหมวดหมู่ Terminal Emulator จากนั้นกดปุ่ม Close เพื่อปิดหน้าต่างเป็นอันเสร็จสิ้นขั้นตอน


แบ่งปันสิ่งนี้บน