25/04/2026 02:48น.

Terminal/Command Line ฉบับมือโปร: คำสั่งที่ควรรู้
#Terminal Command Line
#คำสั่ง Terminal
#Terminal ฉบับมือโปร
#คำสั่งที่ควรรู้
การใช้ Terminal หรือ Command Line เป็นหนึ่งในทักษะที่แยกแยะโปรแกรมเมอร์มือใหม่กับมือโปรได้อย่างชัดเจน หลายคนยังคิดว่า Terminal เป็นสิ่งที่ซับซ้อนและน่ากลัว แต่ความจริงแล้วเมื่อเรียนรู้การใช้งานอย่างถูกวิธี มันจะกลายเป็นเครื่องมือที่ทำให้คุณทำงานได้เร็วและมีประสิทธิภาพมากกว่าการใช้ GUI แบบเดิมๆ บทความนี้จะรวบรวมคำสั่งที่ต้องรู้ เทคนิคขั้นสูง และวิธีการใช้งานแบบมืออาชีพที่จะเปลี่ยนวิธีการทำงานของคุณไปตลอดกาล
ทำไมโปรแกรมเมอร์ต้องเก่ง Terminal?
ประสิทธิภาพและความเร็วที่เหนือกว่า
การใช้ Terminal ทำให้สามารถทำงานหลายอย่างพร้อมกันได้อย่างรวดเร็ว การทำ batch operations การจัดการไฟล์จำนวนมาก หรือการ automate งานต่างๆ สามารถทำได้ในเวลาไม่กี่วินาที ในขณะที่การใช้ GUI อาจใช้เวลาหลายนาที
การ navigate ระหว่างโฟลเดอร์ การค้นหาไฟล์ และการจัดการ version control ผ่าน Terminal เร็วกว่าการใช้เมาส์คลิกไปคลิกมาหลายเท่า
การควบคุมที่ละเอียดและแม่นยำ
Terminal ให้การควบคุมที่ละเอียดกว่า GUI โดยเฉพาะในเรื่องของการจัดการ permissions การทำงานกับ system processes และการ configure ระบบต่างๆ
ความจำเป็นในการทำงานจริง
ในสายงาน DevOps, Backend Development และการจัดการ Server การใช้ Terminal เป็นสิ่งที่หลีกเลี่ยงไม่ได้ การรู้จักใช้ Terminal จึงเป็นทักษะพื้นฐานที่จำเป็น
คำสั่งพื้นฐานที่ต้องรู้
การ Navigate และจัดการไฟล์
คำสั่ง cd (change directory) เป็นคำสั่งแรกที่ทุกคนต้องเรียนรู้ cd /path/to/directory จะเปลี่ยนไปยังโฟลเดอร์ที่ระบุ cd .. จะกลับไปโฟลเดอร์แม่ และ cd ~ จะกลับไปยัง home directory
คำสั่ง ls ใช้สำหรับดูรายการไฟล์และโฟลเดอร์ ls -la จะแสดงรายละเอียดทั้งหมดรวมถึงไฟล์ที่ซ่อนอยู่ และ permissions ของแต่ละไฟล์
คำสั่ง pwd (print working directory) จะบอกว่าคุณอยู่ที่โฟลเดอร์ไหนในขณะนี้ ซึ่งมีประโยชน์มากเมื่อทำงานกับโปรเจกต์ที่มีโครงสร้างซับซ้อน
การสร้างและลบไฟล์/โฟลเดอร์
mkdir directory_name สร้างโฟลเดอร์ใหม่ mkdir -p path/to/nested/directory จะสร้างโฟลเดอร์ซ้อนกันทีเดียวหลายชั้น
touch filename.txt สร้างไฟล์เปล่าใหม่ หรือแก้ไข timestamp ของไฟล์ที่มีอยู่
rm filename ลบไฟล์ rm -rf directory_name ลบโฟลเดอร์และทุกอย่างข้างใน (ใช้ระวัง เพราะกู้คืนไม่ได้)
การคัดลอกและย้ายไฟล์
cp source_file destination คัดลอกไฟล์ cp -r source_directory destination คัดลอกโฟลเดอร์ทั้งหมด
mv old_name new_name เปลี่ยนชื่อไฟล์หรือโฟลเดอร์ หรือ mv file_name /path/to/destination ย้ายไฟล์ไปยังตำแหน่งใหม่
คำสั่งการค้นหาและกรองข้อมูล
การค้นหาไฟล์ด้วย find
คำสั่ง find เป็นเครื่องมือที่ทรงพลังสำหรับการค้นหาไฟล์ find /path -name "*.js" จะค้นหาไฟล์ JavaScript ทั้งหมดในโฟลเดอร์ที่ระบุ
find . -type f -mtime -7 ค้นหาไฟล์ที่ถูกแก้ไขในช่วง 7 วันที่ผ่านมา
find . -name "*.log" -size +10M ค้นหาไฟล์ log ที่มีขนาดใหญ่กว่า 10MB
การค้นหาข้อความด้วย grep
grep "search_term" filename ค้นหาข้อความในไฟล์ grep -r "search_term" directory ค้นหาในทุกไฟล์ในโฟลเดอร์
grep -n "error" log_file.txt แสดงบรรทัดที่มีคำว่า "error" พร้อมหมายเลขบรรทัด
ps aux | grep "process_name" ค้นหา process ที่กำลังทำงาน
คำสั่งการจัดการ Process และ System
การดู Process ที่ทำงาน
ps aux แสดง process ทั้งหมดที่กำลังทำงาน top หรือ htop แสดง process แบบ real-time พร้อมการใช้งาน CPU และ RAM
jobs แสดงงานที่ทำงานใน background fg %1 นำงานที่ 1 กลับมา foreground
การควบคุม Process
command & รันคำสั่งใน background Ctrl+C หยุดการทำงานของโปรแกรม Ctrl+Z พักการทำงานชั่วคราว
kill PID หยุดการทำงานของ process kill -9 PID บังคับหยุดการทำงาน
nohup command & รันคำสั่งแบบที่ไม่หยุดเมื่อปิด Terminal
การจัดการไฟล์และข้อความ
การดูเนื้อหาไฟล์
cat filename แสดงเนื้อหาทั้งหมดของไฟล์ less filename หรือ more filename แสดงเนื้อหาทีละหน้า
head filename แสดง 10 บรรทัดแรก tail filename แสดง 10 บรรทัดสุดท้าย tail -f logfile ติดตามการเปลี่ยนแปลงของไฟล์แบบ real-time
การแก้ไขไฟล์
nano filename แก้ไขไฟล์ด้วย text editor ที่ใช้ง่าย vim filename หรือ vi filename แก้ไขด้วย vim editor ที่ทรงพลัง
การรู้จักใช้ vim พื้นฐาน: กด i เพื่อเข้าโหมดแก้ไข กด Esc เพื่อออกจากโหมดแก้ไข พิมพ์ :wq เพื่อบันทึกและออก
การประมวลผลข้อความ
sort filename เรียงลำดับบรรทัดในไฟล์ uniq filename ลบบรรทัดที่ซ้ำกัน wc filename นับจำนวนบรรทัด คำ และตัวอักษร
cut -d',' -f1 filename.csv ตัดคอลัมน์แรกจากไฟล์ CSV awk '{print $1}' filename พิมพ์คอลัมน์แรกของแต่ละบรรทัด
การใช้งาน Pipes และ Redirection
Pipes (|) สำหรับการเชื่อมต่อคำสั่ง
Pipe เป็นหนึ่งในคุณสมบัติที่ทรงพลังที่สุดของ Terminal command1 | command2 จะส่งผลลัพธ์จาก command1 ไปเป็น input ของ command2
ls -la | grep "pdf" แสดงเฉพาะไฟล์ PDF cat logfile.txt | grep "error" | wc -l นับจำนวนบรรทัดที่มีคำว่า error
history | grep "git" ค้นหาคำสั่ง git ที่เคยใช้ ps aux | grep "node" | awk '{print $2}' หา PID ของ process node
Redirection สำหรับการจัดการ Output
command > filename บันทึกผลลัพธ์ลงไฟล์ (เขียนทับ) command >> filename เพิ่มผลลัพธ์ต่อท้ายไฟล์
command 2> error.log บันทึกข้อผิดพลาดลงไฟล์ command > output.txt 2>&1 บันทึกทั้งผลลัพธ์และข้อผิดพลาด
Network และการเชื่อมต่อ
การตรวจสอบการเชื่อมต่อ
ping google.com ทดสอบการเชื่อมต่อ internet curl https://api.example.com ทดสอบ API endpoint
wget https://example.com/file.zip ดาวน์โหลดไฟล์ scp file.txt user@server:/path คัดลอกไฟล์ผ่าน SSH
การจัดการ SSH
ssh user@hostname เชื่อมต่อไปยัง server ระยะไกล ssh-keygen สร้าง SSH key pair
rsync -av local_folder/ user@server:/remote_folder/ ซิงค์ไฟล์ระหว่างเครื่อง
Git และ Version Control
คำสั่ง Git พื้นฐาน
git status ดูสถานะของ repository git add . เพิ่มไฟล์ทั้งหมดเข้า staging area
git commit -m "commit message" บันทึกการเปลี่ยนแปลง git push origin main ส่งการเปลี่ยนแปลงไปยัง remote repository
git pull ดึงการเปลี่ยนแปลงล่าสุดจาก remote git log --oneline ดูประวัติ commit แบบสั้น
การจัดการ Branch
git branch ดู branch ทั้งหมด git checkout -b new_branch สร้างและเปลี่ยนไป branch ใหม่
git merge branch_name รวม branch เข้าด้วยกัน git branch -d branch_name ลบ branch
เทคนิคขั้นสูงและการปรับแต่ง
Aliases และ Shortcuts
สร้าง aliases เพื่อย่อคำสั่งที่ใช้บ่อย ใส่ใน .bashrc หรือ .zshrc:
alias ll='ls -la'
alias gs='git status'
alias gp='git push'
alias gpl='git pull'
alias ..='cd ..'
alias ...='cd ../..'
การใช้ History และ Tab Completion
!! ทำซ้ำคำสั่งล่าสุด !n ทำซ้ำคำสั่งหมายเลข n จาก history !string ทำซ้ำคำสั่งล่าสุดที่ขึ้นต้นด้วย string
การกด Tab เพื่อ autocomplete ชื่อไฟล์และคำสั่ง การกด Tab สองครั้งเพื่อดูตัวเลือกทั้งหมด
Environment Variables
export VAR_NAME=value ตั้งค่าตัวแปรสภาพแวดล้อม echo $VAR_NAME แสดงค่าของตัวแปร
export PATH=$PATH:/new/path เพิ่ม path ใหม่เข้าไปใน PATH
การใช้งาน Terminal ใน Development
การรัน Development Server
npm start รัน Node.js application python manage.py runserver รัน Django server
docker-compose up รัน Docker containers make build รันการ build ตาม Makefile
การจัดการ Dependencies
npm install package_name ติดตั้ง npm package pip install package_name ติดตั้ง Python package
composer install ติดตั้ง PHP dependencies bundle install ติดตั้ง Ruby gems
การ Debug และ Monitoring
tail -f application.log ติดตามไฟล์ log แบบ real-time lsof -i :3000 ดูว่าใครใช้ port 3000
netstat -tuln ดู port ที่เปิดอยู่ df -h ดูพื้นที่ disk ที่ใช้
เครื่องมือขั้นสูงที่ควรรู้จัก
tmux สำหรับ Session Management
tmux ช่วยในการจัดการหลาย terminal session พร้อมกัน tmux new -s session_name สร้าง session ใหม่
Ctrl+b d ออกจาก session โดยที่ session ยังทำงานอยู่ tmux attach -t session_name กลับเข้า session
awk สำหรับ Text Processing
awk '{print $1, $3}' filename พิมพ์คอลัมน์ 1 และ 3 awk '/pattern/ {print $0}' filename พิมพ์บรรทัดที่ตรงกับ pattern
sed สำหรับ Text Substitution
sed 's/old/new/g' filename แทนที่ข้อความ sed -i 's/old/new/g' filename แก้ไขไฟล์โดยตรง
การ Automate งานด้วย Scripts
การเขียน Bash Scripts พื้นฐาน
สร้างไฟล์ script ขึ้นต้นด้วย #!/bin/bash และทำให้สามารถรันได้ด้วย chmod +x script.sh
#!/bin/bash
echo "Starting deployment..."
git pull origin main
npm install
npm run build
echo "Deployment completed!"
การใช้ Cron Jobs
crontab -e แก้ไข cron jobs 0 2 * * * /path/to/script.sh รัน script ทุกวันเวลา 2:00 น.
เคล็ดลับการใช้งานให้มีประสิทธิภาพ
Keyboard Shortcuts ที่ต้องรู้
Ctrl+A ไปต้นบรรทัด Ctrl+E ไปท้ายบรรทัด Ctrl+U ลบทั้งบรรทัด
Ctrl+R ค้นหาคำสั่งจาก history Ctrl+L เคลียร์หน้าจอ
การใช้ Wildcards
* แทนอักขระใดๆ จำนวนเท่าไหร่ก็ได้ ? แทนอักขระเดียว [abc] แทนอักขระ a, b หรือ c
rm *.tmp ลบไฟล์ .tmp ทั้งหมด ls file?.txt แสดงไฟล์ที่ชื่อขึ้นต้นด้วย file ตามด้วยอักขระตัวเดียว
ข้อผิดพลาดที่ควรหลีกเลี่ยง
การใช้ rm -rf อย่างไม่ระมัดระวัง
คำสั่ง rm -rf สามารถลบทุกอย่างได้ ควรตรวจสอบ path ให้แน่ใจก่อนรัน หรือใช้ rm -i เพื่อให้ถามยืนยันก่อนลบ
การไม่ใช้ Version Control
ควรใช้ git เป็นประจำ commit บ่อยๆ และมี backup เสมอ การใช้ Terminal โดยไม่มี version control เป็นการเสี่ยงสูง
การไม่เข้าใจ Permissions
การใช้ sudo โดยไม่จำเป็นหรือการเปลี่ยน permission ผิดวิธีอาจทำให้ระบบเสียหาย ควรเรียนรู้เรื่อง file permissions ให้ดี
เส้นทางการเรียนรู้ต่อไป
Advanced Topics ที่ควรศึกษา
ระบบ Shell scripting ขั้นสูง การใช้ regular expressions การจัดการ system services ด้วย systemctl และการใช้ Docker อย่างมีประสิทธิภาพ
การฝึกฝนและปรับปรุง
ลองใช้ Terminal ในการทำงานประจำวันแทน GUI เรียนรู้คำสั่งใหม่เป็นประจำ และเขียน script เพื่อ automate งานที่ทำซ้ำๆ
เข้าร่วม communities และอ่านบทความเกี่ยวกับ Terminal เพื่อเรียนรู้เทคนิคใหม่ๆ จากผู้เชี่ยวชาญ
สรุป: Terminal คือกุญแจสู่ความเป็นโปรแกรมเมอร์ที่มีประสิทธิภาพ
การเรียนรู้ Terminal อย่างจริงจังจะเปลี่ยนวิธีการทำงานของคุณไปตลอดกาล จากการทำงานที่ช้าและยุ่งยากด้วย GUI กลายเป็นการทำงานที่รวดเร็วและมีประสิทธิภาพด้วยคำสั่งเพียงไม่กี่บรรทัด
สิ่งสำคัญคือการเริ่มต้นใช้ Terminal ในงานประจำวัน เริ่มจากคำสั่งพื้นฐาน แล้วค่อยๆ เรียนรู้คำสั่งขั้นสูงเมื่อเจอความต้องการจริง การฝึกฝนอย่างสม่ำเสมอจะทำให้คุณเป็นโปรแกรมเมอร์ที่มีประสิทธิภาพและน่าเชื่อถือมากขึ้น
การเชี่ยวชาญ Terminal ไม่ใช่เรื่องยาก แต่ต้องใช้เวลาและความอดทน เริ่มต้นวันนี้ และคุณจะเห็นความแตกต่างในการทำงานของตัวเองอย่างชัดเจน
พร้อมที่จะกลายเป็นโปรแกรมเมอร์ที่ใช้ Terminal อย่างมืออาชีพแล้วหรือยัง?
🔵 Facebook: Superdev School (Superdev)
📸 Instagram: superdevschool
🎬 TikTok: superdevschool
🌐 Website: www.superdev.school