ฉันไม่อยากใช้ชีวิตที่มีแต่เสียง
  • Permission denied ใน Linux: 10 กรณี รวมถึง /dev/null

    Permission denied คือข้อผิดพลาดใน Linux ที่ขึ้นเมื่อบัญชีที่คุณใช้อยู่ไม่มีสิทธิ์ใช้ไฟล์ โฟลเดอร์ หรือคำสั่งนั้น ให้เลือกกรณีของคุณจากชื่อคำสั่งและพาธที่อยู่ต้นบรรทัดข้อผิดพลาด ตรวจสิทธิ์และเจ้าของด้วย ls -l แล้วรันใหม่ด้วยสิทธิ์หรือบัญชีที่เหมาะกับกรณีนั้นก็จะแก้ได้ ผลลัพธ์ด้านล่างได้จากการรันด้วยบัญชี root บนเซิร์ฟเวอร์ AlmaLinux 9.8 และบัญชีทั่วไปบนเซิร์ฟเวอร์ Debian 12 โดยชื่อบัญชี ชื่อโฮสต์ และเวลาในผลลัพธ์ของ /dev/null เป็นค่าตัวอย่าง…

  • คำสั่ง watch: วิธีใช้ ช่วงเวลา -n ไฮไลต์ -d และออกเมื่อเอาต์พุตเปลี่ยน

    คำสั่ง watch เป็นคำสั่ง Linux ที่รันคำสั่งที่กำหนดซ้ำทุก 2 วินาทีและวาดเอาต์พุตใหม่เต็มหน้าจอเทอร์มินัล เมื่อใช้ watch ดูไฟล์บนเซิร์ฟเวอร์ AlmaLinux 9 ขณะแก้ไฟล์จากอีกหน้าต่าง ตัวเลือก -d ไฮไลต์ตัวอักษรที่เปลี่ยน และตัวเลือก -g จบ watch หลังเอาต์พุตเปลี่ยน ผลลัพธ์ด้านล่างได้จากการรันด้วยบัญชี root ในโฟลเดอร์ทำงานบนเซิร์ฟเวอร์ AlmaLinux 9.8 ส่วนบนเซิร์ฟเวอร์ Debian 12 ตรวจเฉพาะเวอร์ชัน…

  • คำสั่ง su: ความต่างของ su กับ su - และ sudo su กับ sudo -i วิธีสลับบัญชี

    ถ้าต้องการสลับไปใช้บัญชีอื่นเพื่อรันคำสั่งบน Linux โดยไม่ต้องออกจากระบบบัญชีปัจจุบัน ให้ใช้คำสั่ง su จากการรัน su จากบัญชี root ของเซิร์ฟเวอร์ AlmaLinux 9 ไปยัง daemon ซึ่งเป็นบัญชีระบบที่ล็อกอินไม่ได้ พบว่าขีดกลางเพียงตัวเดียวทำให้โฟลเดอร์ทำงานและ PATH เปลี่ยนไป และต้องระบุเชลล์ก่อนคำสั่งจึงจะทำงาน ผลลัพธ์ด้านล่างได้จากเซิร์ฟเวอร์ AlmaLinux 9.8 (บัญชี root) และเซิร์ฟเวอร์ Debian 12 (บัญชีทั่วไป)…

  • คำสั่ง zip: บีบอัดโฟลเดอร์ แตกไฟล์ด้วย unzip และตัวเลือกการบีบอัด

    คำสั่ง zip ใช้รวมไฟล์และโฟลเดอร์บน Linux ให้เป็นไฟล์ zip ไฟล์เดียวพร้อมบีบอัด และเมื่อจะแตกไฟล์ก็ใช้ unzip คู่กัน บนเซิร์ฟเวอร์ AlmaLinux 9 การบีบอัดโฟลเดอร์เว็บไซต์ด้วย zip -r ทำให้ขนาด 35,825 ไบต์ลดลงเหลือ 4,158 ไบต์ และชื่อไฟล์ที่เพี้ยนในไฟล์ zip ที่สร้างบน Windows ก็แก้ได้ด้วย unzip -O ผลลัพธ์ด้านล่างได้จากการรันด้วยบัญชี root ในโฟลเดอร์ทำงานบนเซิร์ฟเวอร์ AlmaLinux 9.8 และเวลาเป็น UTC…

  • คำสั่ง nohup: วิธีใช้ nohup.out และการให้งานทำงานต่อแม้ปิดเทอร์มินัล

    หากต้องการให้งานทำงานต่อแม้คุณปิดเทอร์มินัลหรือการเชื่อมต่อ SSH หลุด ให้รันด้วยคำสั่ง nohup โดย nohup จะรันคำสั่งโดยให้ไม่สนใจสัญญาณตัดการเชื่อมต่อ (SIGHUP) ที่ส่งมาตอนปิดเทอร์มินัล เมื่อรัน sleep ที่ใส่ nohup กับ sleep ที่ไม่ใส่พร้อมกันบนเซิร์ฟเวอร์ AlmaLinux 9 แล้วปิดเทอร์มินัล มีเพียงตัวที่รันด้วย nohup เท่านั้นที่ยังทำงานต่อ ผลลัพธ์ด้านล่างได้จากเซิร์ฟเวอร์ AlmaLinux 9.8 (บัญชี root) และเซิร์ฟเวอร์ Debian 12 (บัญชีทั่วไป)…

  • gzip: บีบอัดไฟล์บน Linux แตกไฟล์ gzip และวิธีใช้ gunzip กับ zcat

    gzip คือคำสั่งบน Linux ที่บีบอัดไฟล์หนึ่งไฟล์ให้เป็นไฟล์ .gz ส่วนการแตกไฟล์ทำได้โดยเติม -d ให้คำสั่งเดิมหรือใช้ gunzip บนเซิร์ฟเวอร์ AlmaLinux 9 ล็อกการเข้าถึงขนาด 31,878 ไบต์ลดลงเหลือ 4,424 ไบต์หลังบีบอัด และเมื่อแตกไฟล์ ขนาดกับเวลาแก้ไขเดิมก็กลับมาเหมือนเดิม ผลลัพธ์ด้านล่างได้จากการรันในโฟลเดอร์ทดสอบบนเซิร์ฟเวอร์ AlmaLinux 9.8 ด้วยบัญชี root และเวลาเป็น UTC…

  • ssh-keygen: สร้างคีย์ SSH ลงทะเบียนคีย์สาธารณะ และวิธีใช้ ssh-copy-id

    ssh-keygen คือคำสั่งของ OpenSSH ที่สร้างคู่คีย์ส่วนตัวกับคีย์สาธารณะสำหรับเชื่อมต่อ SSH และยังดูแลการตรวจลายนิ้วมือ การเปลี่ยนพาสเฟรส ไปจนถึงการจัดการ known_hosts เมื่อสร้างคีย์ ed25519 และ rsa บนเซิร์ฟเวอร์ AlmaLinux 9 ตรวจลายนิ้วมือ เปลี่ยนพาสเฟรสและคอมเมนต์ แล้วลองใช้ ssh-copy-id แบบ dry-run พบว่าสิ่งที่ถูกส่งไปยังเซิร์ฟเวอร์มีเพียงคีย์สาธารณะหนึ่งบรรทัดในไฟล์ .pub ชื่อบัญชีและพาธไฟล์คีย์ในผลลัพธ์ด้านล่าง…

  • คำสั่ง journalctl: วิธีใช้ ล็อกแยกตามบริการ และการจัดการขนาด journal

    คำสั่ง journalctl คือเครื่องมือสำหรับเลือกอ่านล็อกที่บริการและเคอร์เนลทิ้งไว้ใน journal ของ systemd บน Linux ที่ใช้ systemd นั้น systemd-journald จะรวบรวมล็อกเหล่านี้ไว้ใน journal เมื่อเลือกอ่านล็อกตามบริการ เวลา และระดับความสำคัญบนเซิร์ฟเวอร์ AlmaLinux 9 และเซิร์ฟเวอร์ Debian 12 พบว่าบัญชีทั่วไปเห็นเฉพาะล็อกของตัวเอง และเซิร์ฟเวอร์ที่เก็บ journal ไว้ในหน่วยความจำเลือกการบูตก่อนหน้าไม่ได้ ผลลัพธ์ด้านล่างมาจากเซิร์ฟเวอร์ทั้งสองเครื่อง…

  • คำสั่ง dig: ค้นหา DNS บน Linux และอ่านผลลัพธ์ +short กับ +trace

    เมื่อต้องการตรวจสอบเรคคอร์ด DNS ของโดเมนไปจนถึงส่วนหัวคำตอบของเซิร์ฟเวอร์ DNS ให้ใช้คำสั่ง dig จากการค้นหาเรคคอร์ดของ example.com ทีละชนิดบนเซิร์ฟเวอร์ AlmaLinux 9 และ Debian 12 และเปลี่ยนเซิร์ฟเวอร์ DNS ที่ถาม พบว่าดูแค่ status และ flags ในส่วนหัวคำตอบก็แยกได้ว่าเป็นกรณีที่ไม่มีชื่อนั้น กรณีที่เซิร์ฟเวอร์ DNS ให้คำตอบไม่ได้ หรือกรณีที่เซิร์ฟเวอร์ซึ่งดูแลเรคคอร์ดตอบเอง ผลลัพธ์ด้านล่างได้จากเซิร์ฟเวอร์ AlmaLinux 9.8 (บัญชี root) และเซิร์ฟเวอร์ Debian 12 (บัญชีทั่วไป)…

  • คำสั่ง ss: ตรวจสอบพอร์ตและโปรเซสบน Linux เทียบกับ netstat

    บนเซิร์ฟเวอร์ Linux คุณตรวจสอบได้ด้วยคำสั่ง ss ว่าพอร์ตใดเปิดอยู่และใครกำลังเชื่อมต่ออยู่ ss เป็นเครื่องมือดูซ็อกเก็ตของ iproute2 ที่มาแทน netstat เมื่อใช้ ss ดูพอร์ตที่รอรับ (LISTEN) และการเชื่อมต่อบนเซิร์ฟเวอร์ Debian 12 พบว่าในบัญชีทั่วไป แม้จะใส่ -p ก็ไม่มีชื่อโปรแกรมที่บัญชีอื่นเปิดไว้แสดงในคอลัมน์ Process ผลลัพธ์ด้านล่างได้จากการรันด้วย locale ภาษาอังกฤษ…

สิ้นสุดเนื้อหา

สิ้นสุดเนื้อหา