กลับไปหน้าสูตร
#shell#terminal#command#cheatsheet
Shell Command Cheatsheet
รวมคำสั่ง Shell แบบจัดเต็ม: navigation, files, text processing, process, network, permissions, archive, ssh และ productivity
11 มีนาคม 2569อ่านประมาณ 3 นาที
สารบัญสูตร
File & Directory
| Command | ใช้ทำอะไร |
|---|---|
mkdir -p app/src | สร้างโฟลเดอร์ซ้อน |
touch app.log | สร้างไฟล์เปล่า |
cp file1 file2 | copy ไฟล์ |
cp -r src backup | copy โฟลเดอร์ |
mv old new | rename/move |
rm file.txt | ลบไฟล์ |
rm -rf build | ลบโฟลเดอร์แบบ force |
Text & File Reading
| Command | ใช้ทำอะไร |
|---|---|
cat file.txt | แสดงไฟล์ทั้งหมด |
less file.txt | เปิดอ่านแบบ scroll |
head -n 30 file.txt | ดู 30 บรรทัดแรก |
tail -n 30 file.txt | ดู 30 บรรทัดท้าย |
tail -f app.log | ดู log แบบ realtime |
wc -l file.txt | นับบรรทัด |
Search & Filter
| Command | ใช้ทำอะไร |
|---|---|
find . -name "*.ts" | หาไฟล์ตามชื่อ |
grep -R "TODO" . | ค้นหา text recursive |
rg "TODO" | ค้นหาเร็วด้วย ripgrep |
rg --files | แสดงไฟล์ทั้งหมด |
sort file.txt | เรียงบรรทัด |
uniq file.txt | ตัดบรรทัดซ้ำ (ต้อง sort ก่อนในหลายกรณี) |
Pipes & Redirection
| Pattern | ตัวอย่าง |
|---|---|
| pipe | `cat app.log |
| redirect output | npm test > test.log |
| append output | echo "done" >> deploy.log |
| redirect stderr | cmd 2> error.log |
| stdout+stderr | cmd > all.log 2>&1 |
Process Management
| Command | ใช้ทำอะไร |
|---|---|
ps aux | ดู process ทั้งหมด |
top / htop | monitor process |
pgrep -f "node" | หา PID ตามชื่อ |
kill <pid> | kill ปกติ |
kill -9 <pid> | force kill |
pkill -f "next dev" | kill ตาม pattern |
lsof -i :3000 | process ที่จับ port 3000 |
Network & HTTP
| Command | ใช้ทำอะไร |
|---|---|
curl -I https://example.com | ดู headers |
curl -L https://example.com | follow redirects |
curl -X POST ... | ยิง API |
ping google.com | ทดสอบ network |
nslookup example.com | query DNS |
traceroute example.com | trace route |
netstat -an / ss -tulpen | ดู sockets |
Permissions & Ownership
| Command | ใช้ทำอะไร |
|---|---|
chmod +x script.sh | ทำไฟล์ให้ execute ได้ |
chmod 644 file.txt | set permission |
chmod 755 dir | set permission dir |
chown user:group file | เปลี่ยนเจ้าของไฟล์ |
umask | ดู default mask |
Archive & Compression
| Command | ใช้ทำอะไร |
|---|---|
tar -czf backup.tar.gz project/ | บีบอัดเป็น tar.gz |
tar -xzf backup.tar.gz | แตก tar.gz |
zip -r backup.zip project/ | zip โฟลเดอร์ |
unzip backup.zip | แตก zip |
gzip file.log | บีบอัดไฟล์ |
gunzip file.log.gz | แตก gzip |
SSH & Remote
| Command | ใช้ทำอะไร |
|---|---|
ssh user@host | SSH เข้าเครื่องปลายทาง |
ssh -i ~/.ssh/key.pem user@host | SSH ด้วย key |
scp file user@host:/path/ | copy file ขึ้น server |
scp -r dir user@host:/path/ | copy directory |
rsync -avz src/ user@host:/dst/ | sync ไฟล์ประสิทธิภาพสูง |
Environment & Variables
| Command | ใช้ทำอะไร |
|---|---|
echo $PATH | ดู PATH |
export NODE_ENV=production | ตั้ง env ชั่วคราว |
env | ดู env ทั้งหมด |
| `printenv | rg NODE` |
source ~/.zshrc | reload shell config |
Productivity Shortcuts (Shell)
| Key | ใช้ทำอะไร |
|---|---|
Ctrl + A | ไปต้นบรรทัด |
Ctrl + E | ไปท้ายบรรทัด |
Ctrl + U | ลบจาก cursor ไปต้นบรรทัด |
Ctrl + K | ลบจาก cursor ไปท้ายบรรทัด |
Ctrl + W | ลบคำก่อนหน้า |
Ctrl + R | ค้นหาคำสั่งย้อนหลัง |
Ctrl + C | ยกเลิกคำสั่งปัจจุบัน |
Ctrl + L | ล้างจอ |
Useful Aliases
alias ll='ls -la'
alias gs='git status -sb'
alias ga='git add .'
alias gc='git commit -m'
alias gp='git push'
alias ..='cd ..'
alias ...='cd ../..'
Practical One-liners
# หาไฟล์ใหญ่สุด 20 ไฟล์ในโฟลเดอร์ปัจจุบัน
find . -type f -print0 | xargs -0 du -h | sort -hr | head -n 20
# หา process ที่กินพอร์ต 3000 แล้ว kill
lsof -ti :3000 | xargs kill -9
# ดู error log แบบ realtime เฉพาะคำว่า ERROR
tail -f app.log | rg ERROR
# แทนที่ข้อความทุกไฟล์ .env.example
rg -l 'localhost' . | xargs sed -i '' 's/localhost/127.0.0.1/g'
Daily Workflow Template
| Step | Command |
|---|---|
| ตรวจ path/proj | pwd && ls -la |
| sync ล่าสุด | git pull --rebase |
| run app | npm run dev |
| debug logs | tail -f logs/app.log |
| cleanup | rm -rf .cache tmp |