Capstone: อ่าน AI commands ให้ขาด
capstone: รวมทุกบท ใช้ --help/$?/error messages + สแกน AI commands หาของอันตราย (sudo, rm -rf, curl|bash) + checklist ก่อนกด Enter
9 บทที่ผ่านมาสอนเครื่องมือ บทนี้เอาทุกอย่างมาใช้กับโจทย์จริงสุดในชีวิต dev ยุค AI คือ “AI ให้คำสั่งมา เราจะรู้ได้ยังไงว่าปลอดภัย”
จบบทนี้จะมี checklist ในหัว ที่ใช้ตัดสินใจได้ว่าคำสั่งที่ AI แนะนำตรงหน้า ควรกด Enter เลยหรือต้องตั้งคำถามก่อน ไม่ใช่จากสัญชาตญาณ แต่จากการอ่านแต่ละ token ของคำสั่งได้จริง และจะได้เครื่องมือมาตรฐาน 3 อย่างสำหรับอ่าน error กับ exit code เวลาคำสั่งไม่ทำงานตามคาด
3 เครื่องมือที่ต้องใช้ทุกวัน
--help และ man ใช้อ่านวิธีใช้
เวลา AI ให้คำสั่งที่มี flag แปลกๆ ที่ไม่เคยเห็น เช่น tar -xzvf ขั้นตอนแรกคือเปิด --help อ่านว่าแต่ละตัวทำอะไร
$ tar --help # แสดง option สั้นๆ
$ man tar # full manual (กด q ออก)
$ tar --help | grep -i extract # กรองเฉพาะเรื่อง extractบน macOS ถ้า man ใช้ยาก ลอง tldr (brew install tldr) เป็น man version สั้น เข้าใจง่าย มีตัวอย่างจริง
Exit code กับ $?
ทุกคำสั่งจบด้วยตัวเลข exit code 0-255 $? เก็บค่าของคำสั่งล่าสุด0 = สำเร็จ ตัวเลขอื่น = ล้มเหลว คำสั่งที่ไม่แสดง error ก็ยังบอกผลผ่าน exit code ได้
$ npm run build
... output ...
$ echo $?
0 # สำเร็จ
$ grep missing file.txt
$ echo $?
1 # ไม่เจอ (exit code 1 ไม่ใช่ error)
$ npm run build || echo "build failed" # รัน fallback ถ้า fail
# || = ทำต่อเมื่อคำสั่งก่อนหน้า fail
# && = ทำต่อเมื่อคำสั่งก่อนหน้า successอ่าน error message
error ส่วนใหญ่มี pattern เดียว บรรทัดแรกบอกว่าเกิดอะไร บรรทัดที่เหลือบอกว่าในไฟล์/function ไหน อ่าน 2-3 บรรทัดแรกพอ ถ้าไม่เจอคำตอบค่อยไล่ stack trace
Error: Cannot find module 'express' ← สาระสำคัญ
Require stack: ← stack trace
- /Users/krish/app/server.js
at Function.Module._resolveFilename (node:internal/modules/cjs/loader:1080:15)
...โดยปกติ error พูดตรงๆ ว่าพัง ให้ copy บรรทัดแรก (ตัด username/path ของเครื่องตัวเองออก) ถาม AI ต่อ เช่น “เจอ errorCannot find module 'express' แก้ยังไง”
สแกน AI commands หาของอันตราย
เครื่องมือสุดท้ายของบทนี้คือ pattern matcher ที่สแกนคำสั่ง AI หา token ที่รู้กันว่าอันตราย ลองคลิก preset ด้านล่างดูว่าคำสั่งไหนมีของอันตรายอยู่ตรงไหน แล้วอ่านคำอธิบายว่าทำไมต้องระวัง (ไม่จำเป็นต้องใช้ scanner ตัวนี้ถึงจะรอดได้ หลังจบบท checklist ในหัวก็ทำงานแบบเดียวกัน)
5 pattern ที่ต้องระวังเสมอ
sudoรันด้วยสิทธิ admin ทำได้ทุกอย่าง อ่านคำสั่งที่ตามหลังให้ครบ ทำไมต้อง sudo ตรงนี้ ถ้าตอบไม่ได้ อย่ารันrm -rfลบ folder + ทุกอย่างข้างใน + ไม่ถามยืนยัน ดู path ให้ชัด ถ้ามี$variableปน ยิ่งอันตราย (ถ้า var ว่างกลายเป็นrm -rf /)curl ... | bashdownload จาก internet แล้วรันทันที ถ้าเว็บโดน hack คุณก็โดนทันที แยกขั้น download → อ่าน → รัน แทน- เขียนใส่
/etc/,/sys/,/boot/พวกนี้ คือ config ของ OS เขียนผิดอาจ boot ไม่ติด chmod -R 777ไม่ใช่ทางแก้ปัญหา permission ที่ถูก เปิดช่องให้ malware แก้ไฟล์ได้
Checklist ก่อนกด Enter ทุกครั้งที่ AI ให้คำสั่ง
- อ่านทุก token มี sudo ไหม? มี rm -rf ไหม? มี | ไหม? path ชี้ไปที่ไหน?
- ถ้าไม่รู้จัก flag ลอง
--helpก่อนรัน (ใช้เวลา 10 วิ ป้องกันเครื่องพัง 1 ชม.) - ถ้ามี variable (
$FOO) เช็คค่าก่อนecho $FOOดูว่ามีอะไรอยู่ใน var - ถ้ามี wildcard (
*) ลองls *.logก่อนrm *.logดูจะลบอะไรบ้าง - ถ้ายังไม่แน่ใจ ใช้
echoข้างหน้า (echo rm -rf ...) ดู output ของสิ่งที่จะทำ โดยไม่ทำจริง
สรุปคอร์ส
จำได้ไหมว่าเริ่มบทที่ 1 ยังไม่รู้จัก terminal มองหน้าจอดำๆ แล้วงง ตอนนี้
- รู้จัก terminal vs shell vs prompt ต่างกันยังไง (บท 1)
- เดินไปไหนมาไหนใน filesystem ได้คล่อง pwd/ls/cd (บท 2)
- อ่าน path ทุกแบบออก absolute, relative, ., .., ~, / (บท 3)
- จัดการไฟล์ได้ mkdir/touch/cp/mv/rm + glob (บท 4)
- เข้าใจ 3 สาย stdin/stdout/stderr + redirect (บท 5)
- ต่อคำสั่งด้วย pipe | สร้าง workflow (บท 6)
- คุม process ที่รันอยู่ kill port busy (บท 7)
- เข้าใจ $PATH และ environment vars (บท 8)
- ตั้ง shell config .zshrc ให้ติดตัว (บท 9)
- สแกน AI commands หาของอันตราย (บทนี้)
ก้าวต่อไปสู่ vibe coding
terminal ที่เคยน่ากลัวกลายเป็นเครื่องมือปกติที่เข้าใจทุกบรรทัดที่เห็น ก้าวต่อจากนี้ไม่ใช่เรียนคำสั่งเพิ่ม แต่คือ ใช้เครื่องมือเหล่านี้ร่วมกับ AI อย่างมั่นใจ
- Claude Code, Cursor, Copilot CLI คุยผ่าน terminal ได้ตรงๆ คุยเป็นภาษาไทยก็ได้
- เวลา AI แนะนำคำสั่ง อ่านแต่ละ token ให้ออก ถามกลับถ้าไม่เข้าใจ ไม่ใช่ copy-paste อย่างเดียว
- เจอ error ไม่หนี อ่านบรรทัดแรก copy ถาม AI พร้อม context ที่เคยทำแล้ว
- workflow ที่ทำซ้ำๆ ใส่ alias หรือ script ให้ shell ทำแทน โค้ดที่เขียนครั้งเดียวใช้ไปได้ตลอด
ขอให้สนุกกับการใช้ terminal ร่วมกับ AI คอมจะไม่มีวันปลอดภัยถ้าคนใช้ไม่อ่านคำสั่งที่ตัวเองรัน และก็ไม่มีเครื่องไหนช่วยเราได้เท่ากับการที่เรารู้ว่าเครื่องมือของตัวเองทำงานยังไง