ข้ามไปเนื้อหา
คุยงานกับเรา

คำสั่ง Linux

คำสั่ง Linux / server ที่ใช้จริง ค้นหาได้ อธิบายเป็นภาษาไทย

  • ls -lah

    แสดงไฟล์ทั้งหมดรวมไฟล์ซ่อน พร้อมขนาดแบบอ่านง่าย · ไฟล์ & โฟลเดอร์

  • cd -

    กลับไปโฟลเดอร์ก่อนหน้า · ไฟล์ & โฟลเดอร์

  • mkdir -p a/b/c

    สร้างโฟลเดอร์ซ้อนกันทีเดียว ไม่ error ถ้ามีอยู่แล้ว · ไฟล์ & โฟลเดอร์

  • cp -a src/ dest/

    คัดลอกโฟลเดอร์ทั้งหมด รักษาสิทธิ์ เจ้าของ และเวลาไฟล์ · ไฟล์ & โฟลเดอร์

  • mv old.txt new.txt

    ย้ายหรือเปลี่ยนชื่อไฟล์ · ไฟล์ & โฟลเดอร์

  • rm -rf folder/

    ระวัง ลบโฟลเดอร์และทุกอย่างข้างในทันที กู้คืนไม่ได้ ตรวจ path ให้แน่ก่อนกด · ไฟล์ & โฟลเดอร์

  • ln -s /path/target link

    สร้าง symbolic link (ทางลัด) · ไฟล์ & โฟลเดอร์

  • touch file.txt

    สร้างไฟล์ว่าง หรืออัปเดตเวลาแก้ไขของไฟล์เดิม · ไฟล์ & โฟลเดอร์

  • tree -L 2

    แสดงโครงสร้างโฟลเดอร์ลึก 2 ชั้น · ไฟล์ & โฟลเดอร์

  • tail -f /var/log/syslog

    ดูท้ายไฟล์แบบสด เหมาะกับดู log ที่กำลังเขียน · ดูไฟล์ & ค้นหา

  • less +G file.log

    เปิดไฟล์ยาวแบบเลื่อนดูได้ เริ่มที่ท้ายไฟล์ (กด q ออก) · ดูไฟล์ & ค้นหา

  • head -n 50 file

    ดู 50 บรรทัดแรก · ดูไฟล์ & ค้นหา

  • grep -rn "keyword" .

    ค้นข้อความในทุกไฟล์ของโฟลเดอร์ บอกชื่อไฟล์และเลขบรรทัด · ดูไฟล์ & ค้นหา

  • grep -v "^#" file | grep .

    ดูไฟล์ config โดยตัดบรรทัด comment และบรรทัดว่าง · ดูไฟล์ & ค้นหา

  • find . -name "*.log" -mtime +7

    หาไฟล์ .log ที่แก้ไขเกิน 7 วัน · ดูไฟล์ & ค้นหา

  • find / -type f -size +500M 2>/dev/null

    หาไฟล์ใหญ่เกิน 500 MB ทั้งเครื่อง · ดูไฟล์ & ค้นหา

  • find . -name "*.tmp" -delete

    ระวัง หาและลบไฟล์ .tmp ทั้งหมด ลองรันโดยไม่มี -delete ก่อน · ดูไฟล์ & ค้นหา

  • wc -l file

    นับจำนวนบรรทัด · ดูไฟล์ & ค้นหา

  • diff -u a.conf b.conf

    เทียบความต่างของสองไฟล์ · ดูไฟล์ & ค้นหา

  • awk '{print $1}' access.log | sort | uniq -c | sort -rn | head

    นับ IP ที่เข้าเว็บมากที่สุด 10 อันดับจาก access log · ดูไฟล์ & ค้นหา

  • sed -i 's/old/new/g' file

    ระวัง แทนที่ข้อความในไฟล์ทันที (แก้ไฟล์จริง) · ดูไฟล์ & ค้นหา

  • chmod 755 script.sh

    เจ้าของ อ่าน/เขียน/รัน คนอื่นอ่าน/รันได้ (ใช้ chmod calculator ช่วยคิด) · สิทธิ์ & ผู้ใช้

  • chmod -R u+rwX,go+rX,go-w dir/

    ตั้งสิทธิ์โฟลเดอร์แบบปลอดภัย: โฟลเดอร์ 755 ไฟล์ 644 · สิทธิ์ & ผู้ใช้

  • chown -R www:www /www/wwwroot/site

    เปลี่ยนเจ้าของไฟล์ทั้งโฟลเดอร์เป็น user www · สิทธิ์ & ผู้ใช้

  • whoami && id

    ดูว่าตอนนี้เป็น user ไหน อยู่กลุ่มอะไร · สิทธิ์ & ผู้ใช้

  • sudo -u www bash

    สลับไปเป็น user www เพื่อทดสอบสิทธิ์ · สิทธิ์ & ผู้ใช้

  • adduser deploy && usermod -aG sudo deploy

    สร้าง user ใหม่และให้สิทธิ์ sudo · สิทธิ์ & ผู้ใช้

  • lsattr file && chattr -i file

    ดูและปลดล็อกไฟล์ที่ถูกตั้ง immutable (ลบ/แก้ไม่ได้แม้เป็น root) · สิทธิ์ & ผู้ใช้

  • uname -a && cat /etc/os-release

    ดูเวอร์ชันเคอร์เนลและ OS · ระบบ & ทรัพยากร

  • uptime

    เครื่องเปิดมานานเท่าไร และ load average · ระบบ & ทรัพยากร

  • free -h

    ดู RAM และ swap ที่ใช้อยู่ · ระบบ & ทรัพยากร

  • htop

    ดู CPU / RAM / process แบบ interactive · ระบบ & ทรัพยากร

  • nproc

    จำนวน CPU core · ระบบ & ทรัพยากร

  • timedatectl set-timezone Asia/Bangkok

    ตั้งเขตเวลาเป็นไทย · ระบบ & ทรัพยากร

  • crontab -e

    แก้ตารางงานอัตโนมัติของ user (ใช้ Cron Builder ช่วยเขียน) · ระบบ & ทรัพยากร

  • df -h

    ดูพื้นที่ดิสก์แต่ละพาร์ทิชัน · ดิสก์

  • du -sh * | sort -h

    ดูขนาดแต่ละไฟล์/โฟลเดอร์ เรียงเล็กไปใหญ่ · ดิสก์

  • du -xh / --max-depth=2 2>/dev/null | sort -h | tail -20

    หาโฟลเดอร์ที่กินที่มากที่สุดทั้งเครื่อง · ดิสก์

  • ncdu /

    สำรวจดิสก์แบบ interactive (ต้องติดตั้ง ncdu) · ดิสก์

  • journalctl --vacuum-size=200M

    ระวัง ลด log ของ systemd ให้เหลือไม่เกิน 200 MB · ดิสก์

  • lsof +L1

    หาไฟล์ที่ถูกลบแล้วแต่ process ยังถืออยู่ (สาเหตุดิสก์ไม่คืน) · ดิสก์

  • ps aux --sort=-%mem | head

    process ที่ใช้ RAM มากสุด · Process

  • ps aux --sort=-%cpu | head

    process ที่ใช้ CPU มากสุด · Process

  • pgrep -af node

    หา process ตามชื่อ พร้อมคำสั่งเต็ม · Process

  • kill -15 PID

    ขอให้ process ปิดตัวอย่างสุภาพ · Process

  • kill -9 PID

    ระวัง บังคับปิด process ทันที (ใช้เมื่อ -15 ไม่ได้ผล) · Process

  • nohup cmd > out.log 2>&1 &

    รันคำสั่งเบื้องหลัง ไม่ตายเมื่อปิด SSH · Process

  • tmux new -s work

    เปิด session ที่ค้างไว้ได้แม้หลุด SSH (tmux attach -t work เพื่อกลับมา) · Process

  • ss -tulpn

    ดูพอร์ตที่เปิดรออยู่ และ process ที่ใช้ · Network

  • ss -tulpn | grep :80

    ดูว่าใครใช้พอร์ต 80 · Network

  • curl -I https://example.com

    ดู HTTP header ของเว็บ · Network

  • curl -sS -o /dev/null -w "%{http_code} %{time_total}s\n" https://example.com

    ดู status code และเวลาโหลด · Network

  • dig +short example.com

    ดู IP ที่โดเมนชี้ไป · Network

  • dig TXT example.com +short

    ดู TXT record (SPF, verify) · Network

  • ip a

    ดู IP ของเครื่อง · Network

  • ping -c 4 1.1.1.1

    ทดสอบเชื่อมต่ออินเทอร์เน็ต 4 ครั้ง · Network

  • mtr example.com

    ไล่เส้นทาง network และจุดที่ช้า · Network

  • openssl s_client -connect example.com:443 -servername example.com </dev/null 2>/dev/null | openssl x509 -noout -dates

    ดูวันหมดอายุ SSL certificate · Network

  • systemctl status nginx

    ดูสถานะ service · systemd & log

  • systemctl restart nginx

    รีสตาร์ต service · systemd & log

  • systemctl enable --now app

    เปิด service และให้เริ่มเองตอนบูต · systemd & log

  • systemctl list-units --failed

    ดู service ที่ล้มเหลว · systemd & log

  • journalctl -u nginx -f

    ดู log ของ service แบบสด · systemd & log

  • journalctl -u app --since "1 hour ago"

    ดู log ของ service ย้อนหลัง 1 ชั่วโมง · systemd & log

  • systemctl list-timers

    ดูงานตั้งเวลาของ systemd · systemd & log

  • nginx -t

    ตรวจ config nginx ว่าถูกต้อง ทำทุกครั้งก่อน reload · nginx

  • nginx -t && nginx -s reload

    ตรวจแล้ว reload แบบไม่ตัดผู้ใช้ · nginx

  • nginx -T | grep server_name

    ดูทุกโดเมนที่ nginx ให้บริการ · nginx

  • tail -f /var/log/nginx/error.log

    ดู error ของ nginx แบบสด · nginx

  • ssh-keygen -t ed25519 -C "me@laptop"

    สร้าง SSH key แบบใหม่และปลอดภัย · SSH & คัดลอก

  • ssh-copy-id user@server

    ส่ง public key ไปเซิร์ฟเวอร์ เพื่อล็อกอินไม่ต้องใช้รหัส · SSH & คัดลอก

  • ssh -L 5432:localhost:5432 user@server

    ทำ tunnel ใช้ฐานข้อมูลบนเซิร์ฟเวอร์จากเครื่องเรา · SSH & คัดลอก

  • scp file.zip user@server:/tmp/

    คัดลอกไฟล์ไปเซิร์ฟเวอร์ · SSH & คัดลอก

  • rsync -avz --progress src/ user@server:/path/

    ซิงก์โฟลเดอร์ไปเซิร์ฟเวอร์ ส่งเฉพาะที่เปลี่ยน · SSH & คัดลอก

  • rsync -avz --delete src/ dest/

    ระวัง ซิงก์และลบไฟล์ปลายทางที่ไม่มีในต้นทาง ลอง --dry-run ก่อน · SSH & คัดลอก

  • tar -czf backup.tar.gz folder/

    บีบอัดโฟลเดอร์เป็น .tar.gz · บีบอัด

  • tar -xzf backup.tar.gz -C /dest

    แตกไฟล์ .tar.gz ไปโฟลเดอร์ที่กำหนด · บีบอัด

  • tar -tzf backup.tar.gz | head

    ดูไฟล์ข้างใน .tar.gz โดยไม่แตก · บีบอัด

  • zip -r site.zip folder/ -x "*/node_modules/*"

    zip โฟลเดอร์ ยกเว้น node_modules · บีบอัด

  • unzip file.zip -d out/

    แตกไฟล์ zip · บีบอัด

  • ufw status verbose

    ดูกฎ firewall · Firewall

  • ufw allow 22/tcp && ufw enable

    เปิดพอร์ต SSH ก่อนแล้วค่อยเปิด firewall (กันล็อกตัวเองออก) · Firewall

  • ufw allow from 1.2.3.4 to any port 5432

    อนุญาตเฉพาะ IP เดียวเข้าพอร์ตฐานข้อมูล · Firewall

  • fail2ban-client status sshd

    ดู IP ที่ถูกแบนเพราะเดารหัส SSH · Firewall

  • docker ps -a

    ดู container ทั้งหมด · Docker

  • docker logs -f --tail 100 app

    ดู log ของ container แบบสด · Docker

  • docker exec -it app sh

    เข้าไปใน container · Docker

  • docker compose up -d --build

    build และรันทุก service ใน compose เบื้องหลัง · Docker

  • docker system df

    ดูพื้นที่ที่ docker ใช้ · Docker

  • docker system prune -a

    ระวัง ลบ image/container ที่ไม่ใช้ทั้งหมด คืนพื้นที่ดิสก์ · Docker

  • git status -sb

    ดูสถานะแบบสั้น · Git

  • git log --oneline --graph -20

    ดูประวัติ commit แบบกราฟ · Git

  • git diff --stat

    สรุปไฟล์ที่เปลี่ยน · Git

  • git stash && git pull --rebase && git stash pop

    เก็บงานค้าง ดึงโค้ดล่าสุด แล้วเอางานคืน · Git

  • git commit --amend --no-edit

    เพิ่มไฟล์เข้า commit ล่าสุดโดยไม่เปลี่ยนข้อความ · Git

  • git restore file

    ระวัง ยกเลิกการแก้ไขไฟล์ที่ยังไม่ commit · Git

  • git reset --hard origin/main

    ระวัง ทิ้งทุกการเปลี่ยนแปลงให้ตรงกับ remote กู้คืนไม่ได้ · Git

  • apt update && apt upgrade -y

    อัปเดตรายการและแพ็กเกจทั้งหมด · แพ็กเกจ (Debian/Ubuntu)

  • apt install -y htop ncdu

    ติดตั้งแพ็กเกจ · แพ็กเกจ (Debian/Ubuntu)

  • apt list --installed | grep nginx

    ดูว่าติดตั้งแพ็กเกจไหนไว้ · แพ็กเกจ (Debian/Ubuntu)

  • apt autoremove -y && apt clean

    ลบแพ็กเกจที่ไม่ใช้และ cache คืนพื้นที่ · แพ็กเกจ (Debian/Ubuntu)

🔒 ทำงานในเบราว์เซอร์ของคุณทั้งหมด ไม่มีข้อมูลถูกส่งออก

เครื่องมืออื่นในหมวดDev & Server