
พูดได้ว่า Command Line ใน Ubuntu เป็นฟังก์ชั่นสำคัญที่ควรใช้งานให้เป็นหรือรู้ติดตัวเอาไว้เพื่อใช้สั่งการตัวเครื่องได้ดีและง่ายขึ้น ถึง UI ของ Ubuntu ในปัจจุบันจะใช้ง่ายกว่าเดิมแล้วก็จริง แต่บางคำสั่งก็ไม่ได้มีให้กดสั่งหรือเสียเวลาค้นตามฟังก์ชั่นต่างๆ ลึกพอควรกว่าจะเจอ โดยเฉพาะการค้นหาและอัปเดตเฟิร์มแวร์ระบบก็ต้องใช้ Terminal ถึงจะทำได้ และข้อดีของการรู้ Command Line ใช้งานบ่อยกับผลลัพธ์ว่ามันให้ผลอย่างไรจะทำให้เรารู้สิ่งที่เกิดขึ้นภายในเครื่องได้ละเอียดขึ้นแถมเอาไปใช้กับ Linux พื้นฐาน Ubuntu ตัวอื่นได้โดยไม่ต้องเรียนรู้ใหม่ให้เสียเวลา
เรื่องน่ารู้และความสำคัญของ Command Line ใน Ubuntu
- การรัน Command Line ใน Ubuntu จะทำใน Terminal เหมือน Command Prompt ของ Windows
- หลายๆ คอมมานด์หากรันโดยต่อเนื่องแล้วต้องการให้หยุดทำงาน ให้กด Ctrl+C โดยเฉพาะคำสั่งกลุ่ม Network จะได้ใช้คีย์ลัดนี้เป็นประจำ
- การพิมพ์คำสั่งใน Terminal ใช้ตัวอักษรเล็กทั้งหมด ยกเว้นบางคำสั่งอาจมีตัวอักษรใหญ่ผสมอยู่ บางคำสั่งอาจเรียกหารหัสผ่านด้วย
- คำสั่ง sudo เป็นคำสั่งระดับ shell command ให้สั่งงานฟังก์ชั่นสำคัญบางอย่างได้ ย่อมาจากคำว่า superuser do แต่ในปัจจุบันแทนคำว่า substitute user, do แทน
- คอมมานด์บางตัว เช่น ping (ชื่อเว็บไซต์) สามารถใช้สั่งใน Windows ได้ ผ่าน Command Prompt
- Command Line ใน Ubuntu ที่ควรจำให้ขึ้นใจ คือ sudo apt update ใช้เพื่ออัปเดตแพทช์ให้โปรแกรมและเฟิร์มแวร์ทั้งหมดในเครื่อง กับ sudo apt upgrade เพื่อให้โปรแกรมเป็นเวอร์ชั่นใหม่ล่าสุด
- ถ้าคำสั่งใดขอสิทธิ์ระดับ superuser ให้เพิ่มคำว่า sudo ไปด้านหน้าจะช่วยให้รันคำสั่งนั้นได้

6 หมวด Command Line ใน Ubuntu ควรรู้ เซฟเอาไว้ได้ใช้แน่นอน!
- File และ Directory ต่างๆ
- คำสั่ง Networking รวมมิตรทุกอย่าง
- ดู Process และการทำงานทั้งหมด
- User and Permission สั่งได้ทุกงาน
- Command Line ใน Ubuntu สำหรับทำ Text processing ต่างๆ
- Command Line ใน Ubuntu ระดับระบบ ใช้งานทั่วไปสะดวกดี
File และ Directory ต่างๆ

| Command | ตัวอย่าง | ผลลัพธ์ |
| pwd | pwd | แสดง directory path ว่าอยู่ส่วนใด |
| ls (LS) | ls | แสดงข้อมูล directory ทั้งหมด |
| cd | cd home | เปลี่ยนไปยัง directory ที่เลือก พิมพ์ / เพื่อเพิ่มรายละเอียด |
| pwd | pwd | แสดง directory ปัจจุบัน |
| mkdir | mkdir | สร้าง directory ใหม่ |
| rmdir | rmdir | ลบ directory ว่างออกไป |
| cp | cp file.txt /(ปลายทาง) เช่น cp file.txt /downloads | Copy ไฟล์หรือ directory นั้นได้ |
| rm | rm file.txt | ลบไฟล์หรือ Directory ชื่อนั้นได้ |
| mv | mv file.txt /(ปลายทาง) เช่น mv file.txt /downloads | ย้ายไฟล์ไปยัง directory ปลายทาง |
| find | find . -name “(ชื่อ).(นามสกุล)” | ค้นหาไฟล์ว่าอยู่ directory ใด |
| df | df | แสดงปริมาณการเขียนไฟล์เข้าไปในไดรฟ์และไฟล์ระบบทั้งหมด |
| du | du | แสดง directory และขนาดของไฟล์ |
| chmod | chmod (bits หรือ rwx) (ชื่อ.นามสกุลไฟล์) | เปลี่ยน permission ของไฟล์ เขียนเป็นตัวเลขหรือ rwx ก็ได้ เช่น rwx = read, write และ execute rw- = read กับ write r-x = read และ execute r– = read only -wx = write และ execute -w- = write only –x = execute only — = none |
| chown | chown user:group (ชื่อ.นามสกุลไฟล์) | เปลี่ยนสิทธิ์เจ้าของไฟล์ |
| mount | mount /dev/sdb1 /mnt | เชื่อม filesystem เข้ามาใช้งาน |
| unmount | unmount /mnt | ถอด filesystem ออกไป |
คำสั่ง Networking รวมมิตรทุกอย่าง

| Command | ตัวอย่าง | ผลลัพธ์ |
| ping | ping (ชื่อเว็บไซต์) เช่น ping google.com | ทดสอบการเชื่อมต่ออินเทอร์เน็ตกับเว็บไซต์นั้นๆ |
| ifconfig / ip a | ifconfig หรือ ip a | แสดง network interfaces ต้องใช้สิทธิ์ superuser |
| netstat หรือ ss | netstat -tuln หรือ ss -tuln | แสดงการเชื่อมต่ออินเทอร์เน็ตกับเครือข่ายต่างๆ |
| wget | wget http://(เว็บไซต์)/(ชื่อไฟล์) | โหลดไฟล์จากเว็บไซต์ ต้องระบุ URL ของไฟล์นั้นด้วย |
| curl | curl -0 http://(เว็บไซต์)/(ชื่อไฟล์) | โอนไฟล์โดยใช้ระบบ URL syntax |
| nc (Netcat) | nc -zv 192.168.241.214 80 | network debug และโอนไฟล์ |
| tcpdump | tcpdump | ตรวจจับและวิเคราะห์ network packets (ควรใส่คำสั่ง sudo) |
| iptables | sudo iptables -L -v -n | ตั้งค่าเงื่อนไข Firewall |
| traceroute | traceroute (ชื่อเว็บไซต์) | ตรวจจับว่า packets เน็ตส่งไปยัง host ใด |
| nslookup | nslookup (ชื่อเว็บไซต์) | จัดการ Query DNS เพื่อให้ได้ชื่อโดเมนหรือ IP Address mapping |
| ssh | ssh (ชื่อ remote host) | เชื่อมต่อ remote host อย่างปลอดภัย |
ดู Process และการทำงานทั้งหมด

| Command | ตัวอย่าง | ผลลัพธ์ |
| ps | ps aux | โชว์ว่าระบบกำลังประมวลผลอะไรอยู่บ้าง |
| top | top | ดูการประมวลผลของระบบปฏิบัติการแบบ dynamic |
| thop | htop | เหมือนคำสั่ง top แต่ปรับแต่งให้ละเอียดขึ้น |
| kill | kill <PID> | ปิดการ Process นั้นในระบบโดยระบุ Processing ID (ต้องใส่คำสั่ง sudo) |
| killall | killall (ชื่อโปรแกรม) | ปิดโปรแกรมตามชื่อที่ Process อยู่ทั้งหมดทันที สามารถระบุชื่อเช่น firefox, chrome ได้เลย (ควรใส่คำสั่ง sudo) |
| uptime | uptime | เช็คว่าระบบทำงานมานานเท่าไหร่และมี load งานเท่าใด |
| whoami | whoami | เช็คว่าตอนนี้ล็อคอินด้วย user ใด มักใช้เมื่อคอมเครื่องนั้นมีมากกว่า 1 user |
| env | env | แสดง environment variables ของ Ubuntu |
| strace | strace -p <PID> | เช็คการเรียกใช้งาน process นั้นในระบบ |
| systemctl | systemctl status <ชื่อ service> | จัดการ system service ต่างๆ |
| journalctl | journalctl -xe | ดู system logs ว่าเกิดอะไรขึ้นในระบบบ้าง |
| free | free -h | แสดงการใช้ RAM ของระบบปฏิบัติการ |
| vmstat | vmstat 1 | รายงานสถิติการใช้งาน virtual memory |
| iostat | iostat | รายงานการทำงานของ CPU และ I/O ของระบบ |
| lsof | lsof | แสดงรายชื่อไฟล์ทั้งหมดที่ประมวลผลอยู่ |
| dmesg | dmesg | แสดงข้อความของ kernel ring buffer |
User and Permission สั่งได้ทุกงาน

| Command | ตัวอย่าง | ผลลัพธ์ |
| passwd | passwd <ชื่อ user> | เปลี่ยนรหัสผ่าน User |
| adduser หรือ useradd | adduser <ชื่อ user> หรือ useradd <ชื่อ user> | เพิ่ม user ใหม่ในระบบ |
| deluser หรือ userdel | deluser <ชื่อ user> หรือ userdel <ชื่อ user> | ลบ user ชื่อนั้นๆ ออกไป |
| usermod | usermod | ปรับแต่ง user บัญชีนั้นๆ |
| groups | groups <ชื่อ user> | แสดงกลุ่มผู้ใช้ |
| sudo | sudo <คำสั่ง> | ใช้สิทธิ์สั่งใช้คำสั่งนั้นระดับผู้ดูแลระบบ (Ubuntu เรียกว่าระดับ root) |
| chage | chage -l <ชื่อ user> | เปลี่ยนข้อมูลระยะเวลารหัสผ่านหมดอายุของ user นั้น |
| id | id <ชื่อ user> | แสดงข้อมูลของ user นั้น |
| newgrp | newgrp <ชื่อกลุ่ม> | ล็อคอินเข้าใช้งานในกลุ่มผู้ใช้อันใหม่ |
Command Line ใน Ubuntu สำหรับทำ Text processing ต่างๆ

| Command | ตัวอย่าง | ผลลัพธ์ |
| awk | awk ‘{print $1}’ (ชื่อไฟล์).txt | สแกนและประมวลผลแบบเป็น Pattern |
| sed | sed ‘s/old/new/g’ (ชื่อไฟล์).txt | เรียกใช้ stream editor สำหรับกรองและปรับแต่งข้อความในระบบ |
| cut | cut -d’:’ -f1 /etc/passwd | ลบคำบางส่วนของออกจากบรรทัดข้อความ |
| sort | sort (ชื่อไฟล์).txt | จัดเรียงชื่อไฟล์ตามตัวอักษรให้ดูได้สะดวกขึ้น |
| grep | grep ‘pattern’ (ชื่อไฟล์).txt | เช็ค Pattern ในข้อความนั้น |
| wc | wc -l (ชื่อไฟล์).txt | นับจำนวนคำ, บรรทัดและตัวอักษร |
| paste | paste (ชื่อไฟล์1).txt (ชื่อไฟล์2).txt | รวมบรรทัดของไฟล์ 1, 2 เข้าหากัน |
| join | join (ชื่อไฟล์1).txt (ชื่อไฟล์2).txt | เชื่อมบรรทัดของไฟล์ 1, 2 ในพื้นที่เดียวกัน |
| head | head -n 10 (ชื่อไฟล์).txt | ดึงผลลัพธ์ครึ่งแรกของไฟล์นั้น |
| tail | tail -n 10 (ชื่อไฟล์).txt | ดึงผลลัพธ์ครึ่งหลังของไฟล์นั้น |
Command Line ใน Ubuntu ระดับระบบ ใช้งานทั่วไปสะดวกดี

| Command | ตัวอย่าง | ผลลัพธ์ |
| alias | alias ll=’ls -la’ | สร้าง Shortcut สำหรับคำสั่งต่างๆ |
| unalias | unalias ll | ลบ Shortcut ก่อนหน้าทิ้ง |
| history | history | แสดงคอมมานด์ก่อนหน้า |
| clear | clear | ล้างข้อความบนหน้า terminal ทั้งหมด |
| reboot | reboot | เหมือนกดปุ่ม restart เครื่อง |
| shutdown | shutdown now | ปิดเครื่อง |
| date | date | แสดงหรือตั้งค่าวันกับเวลาของระบบ |
| echo | echo “Hello, World!” | แสดงบบรรทัดข้อความ |
| sleep | sleep (ตัวเลข) | ใช้หน่วงเวลาคำสั่งต่างๆ ก่อนให้เริ่มทำงาน ถ้าพิมพ์แค่เลขจะนับเป็นวินาที ถ้าเพิ่มตัวอักษรจะปรับเป็นเวลาอื่นๆ ได้ เช่น 1m = หยุด 1 นาที 1h = หยุด 1 ชม. 1d = หยุด 1 วัน 1h 1m 1s = หยุด 1 ชม. 1 นาที 1 วินาที |
| time | time ls | จับเวลาว่าคอมมานด์นั้นๆ ใช้เวลานานเท่าไหร่ |
| watch | watch -n 5 df -h | ให้แต่ละคำสั่งทำงานทีละคำสั่ง แสดงผลลัพธ์เต็มหน้าจอ |

ถึง Command Line ใน Ubuntu จะมีให้ใช้มากมายหลายแบบและยังต้องพิมพ์ผสมกันจนดูยากและใช้ไม่ถนัดในช่วงแรกจนระบบแจ้งว่าพิมพ์ผิดบ่อยๆ ก็จริง แต่มันก็ขึ้นข้อความแนะนำผู้ใช้ด้วย ว่าถ้าจะรันคำสั่งประเภทนี้ก็ลองเติมคำสั่งอื่นตามท้ายไปก็จะได้ผลลัพธ์แบบอื่นได้ด้วย ดังนั้นวิธีทำให้จำและใช้ Command Line ได้ถนัด คือ ฝึกพิมพ์ใช้และอ่านข้อความระบบบ่อยๆ จะช่วยให้เรียนรู้และจำวิธีใช้งานได้มากยิ่งขึ้น หรือจะค้นหาวิธีที่ผู้พัฒนาโปรแกรมแนะนำก็จะช่วยลัดขั้นตอนไปได้มาก แถมทาง Ubuntu ก็มีหน้าแนะนำวิธีใช้ Linux Command Line ให้เรียนรู้เพิ่มเติมอีกด้วย
หลายคนอาจคิดว่าวิธีพิมพ์ Command Line ใน Ubuntu ดูยากก็ในช่วงแรกตอนเริ่มใช้งานใหม่ๆ เท่านั้น พอใช้งานมาสักระยะแล้วก็จะรู้ว่ามีคำสั่งไหนได้ใช้งานบ่อยก็จะจำได้แล้วพิมพ์ใช้งานเองโดยอัตโนมัติ เหมือนการออกกำลังกายที่ในวันแรกก็ยังทำได้ไม่มากแต่พอฝึกมากขึ้นเรื่อยๆ ก็ทำได้คล่องและดีขึ้นเองโดยอัตโนมัติเอง ขอแค่อย่าถอดใจไปก่อนเท่านั้น
Photo credits: Ubuntu
บทความที่เกี่ยวข้อง





