Tag Archive Command

Byphunsanit

Command Tips

นอกจาก การเชื่อมคำสั่ง (Logic) และ Shortcut (Speed) แล้ว ยังมีอีก 4 เรื่องสำคัญที่เป็น “พื้นฐาน” ที่จะทำให้คุณใช้งาน Command Line ได้อย่างมั่นใจและปลอดภัยครับ


การจัดการ Output ลงไฟล์ (Redirection)

เมื่อกี้เรารู้จัก | (Pipe) ที่ส่งข้อมูลข้ามโปรแกรม แต่ถ้าเราอยาก “เซฟลงไฟล์” เราต้องใช้ตัวนี้ครับ

  • > (ทับของเดิม): เขียนข้อมูลลงไฟล์ ถ้าไฟล์มีอยู่แล้ว ข้อมูลเก่าจะ หายหมด
    • ตัวอย่าง: echo "Hello" > log.txt (ในไฟล์จะมีแค่ Hello)
  • >> (ต่อท้าย): เขียนข้อมูลต่อท้ายไฟล์เดิม ข้อมูลเก่า ไม่หาย (เหมาะสำหรับทำ Log)
    • ตัวอย่าง: echo "Error happened" >> error_log.txt

อักขระพิเศษ (Wildcards)

แทนที่จะพิมพ์ชื่อไฟล์ทีละอัน เราสามารถใช้สัญลักษณ์แทนกลุ่มไฟล์ได้

  • * (ดอกจัน = อะไรก็ได้): ใช้บ่อยที่สุด
    • rm *.txt = ลบทุกไฟล์ที่ลงท้ายด้วย .txt
    • cp config* /backup/ = copy ทุกไฟล์ที่ขึ้นต้นด้วยคำว่า config ไปไว้โฟลเดอร์ backup
  • ? (เครื่องหมายคำถาม = ตัวอักษรเดียว):
    • ls file?.txt = จะเจอ file1.txt, fileA.txt แต่ไม่เจอ file10.txt

เรื่องสิทธิ์ (Permissions) และ sudo

ถ้าคุณรันคำสั่งแล้วเจอ Permission denied แปลว่า user ของคุณไม่มีสิทธิ์ทำสิ่งนั้น

  • sudo (SuperUser DO): คือการขอสิทธิ์เป็น Admin ชั่วคราว (เหมือน Run as Administrator ใน Windows)
    • ข้อควรระวัง: อย่าใช้ sudo พร่ำเพรื่อ ใช้เฉพาะตอนแก้ไขไฟล์ระบบหรือลงโปรแกรมเท่านั้น
  • chmod: คำสั่งเปลี่ยนสิทธิ์ไฟล์ (เช่น chmod +x script.sh เพื่อทำให้ไฟล์นั้นรันได้)

การอ้างอิงตำแหน่ง (Relative Paths)

เรื่องนี้สำคัญมากเวลาเขียน Script หรือย้ายไฟล์

  • . (จุดเดียว): หมายถึง “ที่นี่” (โฟลเดอร์ปัจจุบัน)
    • cp /etc/nginx/nginx.conf . (copy ไฟล์ config มาวางไว้ ที่นี่)
  • .. (สองจุด): หมายถึง “ถอยกลับไป 1 ชั้น”
    • cd .. (ถอยออกจากโฟลเดอร์ปัจจุบัน)
  • ~ (ตัวหนอน): หมายถึง “บ้าน” (Home Directory ของ user เรา)
    • cd ~ (กลับบ้านทันที ไม่ว่าจะอยู่ที่ไหน)

สรุป Checklist ความปลอดภัย

ก่อนจะกด Enter กับคำสั่งที่ดูอันตราย (เช่น การลบ หรือการย้ายไฟล์จำนวนมาก) ลองเช็คตามนี้ครับ

  • Backup หรือยัง? (โดยเฉพาะไฟล์ Config สำคัญๆ)
  • พิมพ์ Path ถูกไหม? (ใช้ ls เช็คก่อน rm เสมอ เช่น ls *.txt ดูให้แน่ใจก่อนสั่ง rm *.txt)
  • อยู่ในโฟลเดอร์ที่ถูกต้องไหม? (พิมพ์ pwd เพื่อดูว่าตอนนี้เราอยู่ที่ไหน)

ถ้าเข้าใจหมดนี้ คุณก็พร้อมลุยงาน Server หรือเขียน Script อัตโนมัติได้แล้วครับ


อ่านเพิ่มเติม