วิธีเช็กพื้นที่และใช้งานดิสก์บน Linux ด้วยคำสั่ง df และ du
เรียนรู้วิธีการตรวจสอบพื้นที่ดิสก์และวิเคราะห์การใช้งานจัดเก็บข้อมูลบนระบบ Linux อย่างมีประสิทธิภาพด้วยคำสั่งพื้นฐาน df, du และ find

ภาพประกอบจากคลังภาพสต็อก ไม่ใช่ภาพจากเหตุการณ์จริง
- การปล่อยให้ดิสก์เต็มอาจทำให้ระบบทำงานช้าลงหรือบริการล่ม
- คำสั่ง df ใช้ตรวจสอบภาพรวมการใช้งานดิสก์ทั้งระบบ
- คำสั่ง du ช่วยเจาะลึกขนาดไฟล์และไดเรกทอรีที่ใช้พื้นที่
- สามารถใช้คำสั่งร่วมกันเพื่อค้นหาไฟล์ขนาดใหญ่ได้อย่างรวดเร็ว
การปล่อยให้พื้นที่จัดเก็บข้อมูลเต็มจนล้นอาจส่งผลกระทบอย่างรุนแรงต่อประสิทธิภาพของระบบ Linux ทำให้บริการต่างๆ หยุดทำงาน หรือแม้กระทั่งขัดขวางไม่ให้ผู้ใช้งานสามารถเข้าสู่ระบบหรือเข้าถึงไดเรกทอรีสำคัญได้ ดังนั้นการคอยตรวจสอบการใช้งานดิสก์จึงเป็นหัวใจสำคัญในการดูแลรักษาเครื่องเซิร์ฟเวอร์หรือระบบปฏิบัติการ Linux ทุกเครื่อง ระบบปฏิบัติการ Linux มีเครื่องมือบรรทัดคำสั่งที่ติดตั้งมาพร้อมใช้งาน ได้แก่ df, du และ find ซึ่งช่วยให้เรามองเห็นปริมาณพื้นที่ที่ถูกใช้งาน พื้นที่คงเหลือ และระบุได้ว่าไฟล์หรือไดเรกทอรีใดกำลังกินพื้นที่จัดเก็บข้อมูลของคุณอยู่
บทความนี้จะพาไปดูตัวอย่างการใช้งานเครื่องมือเหล่านี้ทีละขั้นตอน เพื่อให้คุณสามารถตรวจสอบพื้นที่ดิสก์ วิเคราะห์ระบบไฟล์ที่ถูกเมาท์ และแก้ไขปัญหาที่เกี่ยวข้องกับดิสก์ได้อย่างคล่องแคล่วและมีประสิทธิภาพ โดยเมื่ออ่านจบคุณจะมีชุดคำสั่งสำหรับการตรวจสอบพื้นที่และตามหาไฟล์ขนาดใหญ่บนระบบ Linux ไว้ใช้งานทันที
ระบบ Linux มีเครื่องมือบรรทัดคำสั่งหลักๆ ที่ช่วยมอนิเตอร์และจัดการพื้นที่ดิสก์อย่างมีประสิทธิภาพ โดยคำสั่ง df จะให้ภาพรวมอย่างรวดเร็วเกี่ยวกับการใช้งานดิสก์บนระบบไฟล์ที่ถูกเมาท์ทั้งหมด ช่วยให้ระบุพาร์ทิชันที่มีพื้นที่ว่างเหลือน้อยและแก้ไขได้ทันท่วงทีก่อนที่ประสิทธิภาพระบบจะตก รูปแบบคำสั่งพื้นฐานคือ df [OPTION]... [FILE]... หากไม่ระบุไฟล์หรือไดเรกทอรี คำสั่ง df จะแสดงพื้นที่ดิสก์ของระบบไฟล์ที่เมาท์ไว้ทั้งหมด

ภาพประกอบจากคลังภาพสต็อก ไม่ใช่ภาพจากเหตุการณ์จริง
ตัวอย่างการใช้งานคำสั่ง df ที่สำคัญมีดังนี้:
- แสดงการใช้งานดิสก์ในรูปแบบที่อ่านง่าย: ใช้คำสั่ง
df -hเพื่อแปลงหน่วยข้อมูลให้อ่านเข้าใจง่าย - ตรวจสอบจุดเมาท์เฉพาะ: เช่นคำสั่ง
df -h /mntเพื่อดูเฉพาะพาร์ทิชันที่กำหนด - ตรวจสอบตามประเภทระบบไฟล์: เช่นคำสั่ง
df -h -t ext4เพื่อเลือกดูเฉพาะระบบไฟล์ประเภท ext4 - ยกเว้นประเภทระบบไฟล์: เช่นคำสั่ง
df -h -x tmpfsเพื่อซ่อนระบบไฟล์ชั่วคราวที่ไม่ต้องการวิเคราะห์ - แสดงประเภทระบบไฟล์ร่วมด้วย: ใช้คำสั่ง
df -hTเพื่อดูคอลัมน์ Type เพิ่มเติม - ตรวจสอบการใช้งาน Inode: ใช้คำสั่ง
df -iซึ่งมีประโยชน์มากสำหรับการมอนิเตอร์จำนวนไฟล์และไดเรกทอรีทั้งหมด
การทำความเข้าใจความแตกต่างระหว่างพื้นที่ดิสก์ (Disk Space) และ Inode เป็นสิ่งสำคัญมาก เพราะบางครั้งระบบอาจแจ้งว่าดิสก์ยังเหลือพื้นที่ว่าง แต่ไม่สามารถสร้างไฟล์ใหม่ได้ เนื่องจากตาราง Inode เต็ม ซึ่งมักเกิดจากการมีไฟล์ขนาดเล็กจำนวนมหาศาล การใช้คำสั่ง df -i จึงช่วยป้องกันปัญหาคอขวดที่หลายคนมองข้ามได้เป็นอย่างดี
ในขณะเดียวกัน คำสั่ง du (disk usage) ทำหน้าที่ประเมินและแสดงพื้นที่ดิสก์ที่ถูกใช้งานโดยไฟล์และไดเรกทอรีเฉพาะเจาะจง ซึ่งช่วยให้ระบุโฟลเดอร์หรือไฟล์ขนาดใหญ่ที่ต้องจัดการทำความสะอาดได้ รูปแบบคำสั่งพื้นฐานคือ du [OPTION]... [FILE]... หากไม่ใส่พารามิเตอร์ คำสั่งจะแสดงการใช้งานของไดเรกทอรีปัจจุบัน
ตัวอย่างการใช้งานคำสั่ง du ที่มีประโยชน์:
- ตรวจสอบขนาดไดเรกทอรีแบบอ่านง่าย: ใช้
sudo du -sh /path/to/directoryโดยมักต้องใช้สิทธิ์ sudo ร่วมด้วยเนื่องจากบางโฟลเดอร์จำกัดสิทธิ์การเข้าถึง - รวมไฟล์ที่ซ่อนอยู่: ใช้แฟล็ก
-aเช่นsudo du -ah /path/to/directoryเพื่อรวมไฟล์ตั้งต้นด้วยจุด - ยกเว้นไฟล์บางประเภท: ใช้คำสั่ง
sudo du -ah --exclude='*.log' /path/to/directoryเพื่อข้ามไฟล์บันทึกชั่วคราว - จำกัดความลึกของไดเรกทอรี: เช่น
sudo du -h --max-depth=1 /varเพื่อดูรายชื่อโฟลเดอร์ระดับบนสุด - เรียงลำดับตามขนาด: นำผลลัพธ์มาต่อด้วย
| sort -rhเพื่อแสดงไฟล์หรือโฟลเดอร์ที่ใหญ่ที่สุดขึ้นก่อน
นอกจากนี้ คุณยังสามารถผสมผสานคำสั่ง find เข้ากับ du เพื่อค้นหาไฟล์ขนาดใหญ่เป็นพิเศษ เช่น ไฟล์ที่มีขนาดมากกว่า 50MB ภายในไดเรกทอรี /var ซึ่งจะแสดงรายละเอียดทั้งขนาด สิทธิ์การใช้งาน และวันที่แก้ไขล่าสุดของไฟล์นั้นๆ อย่างชัดเจน
ที่มา: Dev.to
พบข้อมูลผิดพลาดในบทความนี้? แจ้งปัญหาบทความนี้
ความคิดเห็น
แสดงความคิดเห็น