บทนำ: ทำไม Sysadmin ต้องรู้คำสั่ง Linux
การจัดการ Cloud VPS นั้นไม่อาจหนีไปจากการใช้คำสั่ง Linux ในสภาพแวดล้อม Terminal หากคุณต้องการเป็น System Administrator ที่มีประสิทธิภาพ การเรียนรู้ Linux commands ที่จำเป็นจึงเป็นสิ่งที่ต้องทำเสียก่อน ด้วยการรู้และใช้คำสั่ง Linux อย่างถูกต้อง คุณสามารถ:
- ประหยัดเวลาในการจัดการระบบ
- แก้ปัญหา Server ได้อย่างรวดเร็ว
- ควบคุมทรัพยากร Server ได้อย่างมีประสิทธิภาพ
- เพิ่มความปลอดภัย (Security) ของระบบ
- ทำงานแบบ Automation ได้ง่ายขึ้น
บทความนี้จะสรุปคำสั่ง Linux ที่สำคัญและใช้งานได้จริงในการจัดการ Cloud VPS ให้คุณได้ใช้อ้างอิงอย่างสะดวก
1. การนำทางระบบไฟล์ (File Navigation)
หากต้องการทำงานกับ Linux ได้อย่างมีประสิทธิภาพ การเข้าใจการจัดการไฟล์และโฟลเดอร์จึงเป็นพื้นฐานที่สำคัญ
# ดูโฟลเดอร์ปัจจุบันที่คุณอยู่
pwd
# แสดงรายชื่อไฟล์และโฟลเดอร์ทั้งหมด (แบบ List)
ls -la
# เปลี่ยนเข้าไปในโฟลเดอร์
cd /var/www/html
# สร้างโฟลเดอร์ใหม่ (รวมถึง Parent directories)
mkdir -p /var/www/newproject/public
# ลบไฟล์หรือโฟลเดอร์ (Recursive, Force)
rm -rf /path/to/folder
# Copy ไฟล์หรือโฟลเดอร์ (Recursive)
cp -r /source/folder /destination/folder
# ย้าย หรือ Rename ไฟล์/โฟลเดอร์
mv /old/path /new/path
# ค้นหาไฟล์โดยชื่อ
find /var/www -name "*.php" -type f
# ค้นหาไฟล์อย่างรวดเร็ว (ต้องติดตั้ง locate)
locate nginx.conf
2. การดูและแก้ไขไฟล์
ความเชี่ยวชาญในการดูและแก้ไขไฟล์ใน Linux เป็นทักษะที่ยิ่งใหญ่สำหรับ Sysadmin ทุกคน
# ดูเนื้อหาไฟล์ (เหมาะสำหรับไฟล์ขนาดเล็ก)
cat /etc/nginx/nginx.conf
# ดูไฟล์แบบหน้า (Page by page)
less /var/log/syslog
more /var/log/syslog
# ดูเฉพาะ 10 บรรทัดแรก
head -10 /var/log/syslog
# ดูเฉพาะ 10 บรรทัดสุดท้าย (ติดตามไฟล์ Log แบบ Real-time)
tail -f /var/log/apache2/error.log
# แก้ไขไฟล์ด้วย Nano (ง่าย)
nano /etc/nginx/nginx.conf
# แก้ไขไฟล์ด้วย Vim (ขั้นสูง)
vim /etc/nginx/nginx.conf
# ใน Vim: i (Insert mode), :wq (Save & Quit), :q! (Quit without save)
# ค้นหาคำในไฟล์แบบ Recursive
grep -r "server_name" /etc/nginx/
# ค้นหาแบบ Case-insensitive
grep -i "error" /var/log/syslog
# ค้นหาและแสดงหมายเลขบรรทัด
grep -n "listen 80" /etc/nginx/nginx.conf
3. การจัดการ Process (กระบวนการ)
การดูแล Process ที่ทำงานบน Server เป็นเรื่องสำคัญ เพื่อให้แน่ใจว่า Service ทำงานอย่างปกติและไม่มีการใช้ resources มากเกินไป
# ดูรายชื่อ Process ทั้งหมด
ps aux
# ดูเฉพาะ Process ที่เกี่ยวข้อง (ค้นหาคำว่า nginx)
ps aux | grep nginx
# ดูการใช้ resources แบบ Real-time
top
# ติดตั้ง htop สำหรับ UI ที่ดีขึ้น
apt install htop
# ใช้ htop
htop
# ปิด Process โดยใช้ Process ID (PID)
kill PID
# บังคับปิด Process (Force kill)
kill -9 PID
# ปิด Process โดยใช้ชื่อ
pkill nginx
# รัน Command แบบ Background ที่จะคงอยู่หลังจากปิด Terminal
nohup command &
# ดูรายชื่อ Background jobs
jobs
# ย้าย Job ไป Background
bg %1
# ย้าย Job ไป Foreground
fg %1
4. การจัดการ Disk และ Memory
การตรวจสอบพื้นที่ Disk และ Memory Usage เป็นส่วนสำคัญของการ Monitor Server
# ดูพื้นที่ Disk ที่ใช้งานแล้ว (Human readable)
df -h
# ดูขนาดของโฟลเดอร์โดยละเอียด
du -sh /var/log/*
# ดูการใช้ Memory (RAM)
free -h
# ดูข้อมูล Disk Partitions ทั้งหมด
lsblk
# ดูเฉพาะ Disk ที่ใช้งานจริง
df -hT
# หา Disk Space ที่ใช้มากสุด
du -sh /var/lib/* | sort -hr | head -10
5. การจัดการ Network
การจัดการและตรวจสอบ Network ช่วยให้คุณสามารถแก้ปัญหาการเชื่อมต่อได้อย่างรวดเร็ว
# ดูที่อยู่ IP ของ Server
ip addr show
# ใช้คำสั่งเก่า (Deprecated)
ifconfig
# ตรวจสอบการเชื่อมต่อไปยัง Host อื่น
ping -c 4 8.8.8.8
# ดูข้อมูล HTTP Header ของ Website
curl -I https://example.com
# Download ไฟล์จาก URL
wget https://example.com/file.zip
# ดูรายชื่อ Network Connections และ Services ที่ Listen
netstat -tulpn
# คำสั่งใหม่ (แทน netstat)
ss -tulpn
# ติดตามเส้นทาง Packet ไปยัง Host
traceroute google.com
# ค้นหา IP Address จากชื่อ Domain (Nameserver Lookup)
nslookup example.com
# ดูข้อมูล DNS โดยละเอียด
dig example.com
6. การจัดการ Package ด้วย APT
บนระบบ Debian/Ubuntu ที่ใช้ APT Package Manager การติดตั้งและอัปเดต Software ทำได้ง่ายดาย
# อัปเดต Repository Packages List
apt update
# อัปเดต System Packages ทั้งหมด
apt upgrade -y
# อัปเดตและล้างโปรแกรมเก่า
apt full-upgrade -y
# ติดตั้ง Package ใหม่
apt install nginx
# ติดตั้งหลาย Packages พร้อมกัน
apt install nginx php-fpm mysql-server -y
# ถอดถอน Package
apt remove nginx
# ถอดถอน Package และ Config files
apt purge nginx
# ดูรายชื่อ Packages ที่ติดตั้งแล้ว
apt list --installed
# ค้นหา Packages ที่เกี่ยวข้อง
apt search nginx
# ดูข้อมูล Package
apt show nginx
# ล้างโปรแกรมที่ไม่ใช้งานแล้ว
apt autoremove
# ดูเวอร์ชัน Packages ที่ติดตั้ง
dpkg -l | grep nginx
7. การจัดการ User และ Permission
ความปลอดภัย Server ขึ้นอยู่กับการจัดการ User และ File Permission อย่างถูกต้อง
# ดูชื่อ User ที่ Login อยู่
whoami
# ดูข้อมูล User ID และ Group ID
id
# ดูรายชื่อ User ที่ Login ในระบบ
who
# เปลี่ยน File Permission (Octal notation)
# 7 = rwx (Read, Write, Execute)
# 5 = r-x (Read, Execute)
# 4 = r-- (Read only)
chmod 755 /var/www/html
# เปลี่ยน Permission สำหรับไฟล์ทั้งหมดใน Directory
chmod -R 644 /var/www/html/*.php
# เปลี่ยน Owner ของไฟล์/โฟลเดอร์
chown www-data:www-data /var/www/html
# เปลี่ยน Owner แบบ Recursive
chown -R www-data:www-data /var/www/html/
# รัน Command โดยมี Privilege Sudo
sudo command
# เข้า Root Shell
sudo -i
# Switch ไป User อื่น
su - username
8. การดู Log Files
Log files เป็นแหล่งข้อมูลที่สำคัญในการ Debug และ Troubleshoot ปัญหา Server
# ดู System Journal แบบ Real-time
journalctl -f
# ดู Log ของ Service เฉพาะ (เช่น nginx)
journalctl -u nginx
# ดู Log ของ Service พร้อมข้อความ Error
journalctl -u nginx -p err
# ติดตาม Syslog แบบ Real-time
tail -f /var/log/syslog
# ดู Kernel Log ของ 20 บรรทัดสุดท้าย
dmesg | tail -20
# ค้นหา Error ใน Log
grep -i "error" /var/log/syslog
# ดู Apache Error Log แบบ Real-time
tail -f /var/log/apache2/error.log
# ดู Nginx Access Log
tail -f /var/log/nginx/access.log
9. คำสั่ง Compression และ Archive
บ่อยครั้งที่เราต้อง Backup หรือ Transfer ไฟล์จำนวนมาก การ Compress ไฟล์จึงเป็นสิ่งจำเป็น
# สร้าง TAR Archive พร้อม Gzip Compression
tar -czf backup.tar.gz /var/www/html/
# ดูเนื้อหาของ TAR File
tar -tzf backup.tar.gz
# แยก TAR File
tar -xzf backup.tar.gz
# แยก TAR File ไปยัง Directory ที่กำหนด
tar -xzf backup.tar.gz -C /destination/path/
# สร้าง ZIP Archive
zip -r archive.zip /var/www/html/
# แยก ZIP File
unzip archive.zip
# ดูเนื้อหาของ ZIP File
unzip -l archive.zip
# สร้าง TAR Archive แบบ Bzip2 (บีบอัดมากกว่า)
tar -cjf backup.tar.bz2 /folder/
# แยก TAR Bzip2
tar -xjf backup.tar.bz2
10. Keyboard Shortcuts ที่ทำให้ทำงานเร็วขึ้น
การใช้ Keyboard Shortcuts อย่างคล่องแคล่วจะช่วยให้คุณทำงานได้รวดเร็วขึ้นมาก
# ยกเลิก/หยุด Command ที่กำลังทำงาน
Ctrl + C
# Suspend Command (ใช้ bg/fg เพื่อทำงานต่อ)
Ctrl + Z
# ค้นหา Command จาก History
Ctrl + R
# รัน Command ก่อนหน้า
!!
# รัน Command ก่อนหน้าที่เริ่มด้วยคำว่า nginx
!nginx
# Auto-complete ชื่อไฟล์หรือ Command
Tab
# ค้นหาใน History
history | grep "apt install"
# ลบ Character ก่อนหน้า
Ctrl + H (หรือ Backspace)
# ลบ Word ก่อนหน้า
Ctrl + W
# ย้ายไปต้นบรรทัด
Ctrl + A
# ย้ายไปจุดสิ้นสุดบรรทัด
Ctrl + E
11. ตาราง Quick Reference – คำสั่ง Linux ที่สำคัญ
| หมวดหมู่ | คำสั่ง | ความหมาย |
| นำทาง | pwd | แสดงโฟลเดอร์ปัจจุบัน |
| นำทาง | ls -la | แสดงรายชื่อไฟล์ (แบบ List) |
| นำทาง | cd /path | เปลี่ยนโฟลเดอร์ |
| ไฟล์ | cat file.txt | ดูเนื้อหาไฟล์ |
| ไฟล์ | nano file.txt | แก้ไขไฟล์ |
| ไฟล์ | tail -f file.txt | ติดตามไฟล์ Log |
| Process | ps aux | ดูรายชื่อ Process |
| Process | kill PID | ปิด Process |
| Process | top | ดูการใช้ Resources |
| Disk | df -h | ดูพื้นที่ Disk |
| Disk | du -sh /path | ดูขนาดโฟลเดอร์ |
| Network | ip addr show | ดู IP Address |
| Network | ping host | ตรวจสอบการเชื่อมต่อ |
| Network | ss -tulpn | ดู Network Connections |
| Package | apt update | อัปเดต Repository |
| Package | apt install pkg | ติดตั้ง Package |
| Permission | chmod 755 file | เปลี่ยน Permission |
| Permission | chown user file | เปลี่ยน Owner |
| Log | journalctl -f | ดู System Log |
| Backup | tar -czf backup.tar.gz /path | สร้าง Backup |
สรุป
การเรียนรู้และเชี่ยวชาญ Linux commands เหล่านี้จะช่วยให้คุณสามารถจัดการ Cloud VPS ได้อย่างมีประสิทธิภาพและรวดเร็ว ข้อสำคัญคือต้องฝึกปฏิบัติบ่อยๆ เพื่อให้คำสั่งเหล่านี้เป็นส่วนหนึ่งของการทำงานประจำวัน
หากคุณต้องการ Server ที่มีประสิทธิภาพสูงและ Support ที่ดี บริการ Cloud VPS ของ Dot Enterprise (DE) จะเป็นตัวเลือกที่ดีเยี่ยม ทีม Technical Support ของเราพร้อมช่วยเหลือคุณในการจัดการ Server ได้ทุกเวลา
เรียนรู้เพิ่มเติมเกี่ยวกับบริการ Cloud VPS ของเรา และค้นหาแพ็คเกจที่เหมาะสมกับความต้องการของคุณ
