Rain Wiki · Linux

การใช้งานดิสก์ด้วย du และ ncdu

วิธีค้นหาว่าสิ่งใดทำให้ดิสก์ Linux เต็มด้วย du และ ncdu แบบโต้ตอบ พร้อมตัวเลือกที่จำกัดการทำงานอยู่ภายในระบบไฟล์เดียว

Linux · Rain Wiki

du (disk usage) เป็นคำสั่งมาตรฐานของ Linux ที่รายงานว่าไฟล์และไดเรกทอรีใช้พื้นที่ไปเท่าใด ส่วน ncdu เป็นทางเลือกแบบโต้ตอบที่ใช้ ncurses ซึ่งช่วยให้คุณเรียกดูผลลัพธ์และลบรายการต่างๆ ได้ เมื่อใช้ร่วมกับ df ซึ่งแสดงพื้นที่ว่างต่อระบบไฟล์ ทั้งสองคำสั่งนี้เป็นวิธีทั่วไปในการค้นหาว่าสิ่งใดทำให้ดิสก์เต็ม

ตัวเลือกที่มีประโยชน์ของ du

'du -sh /var' จะแสดงผลรวมหนึ่งค่าในรูปแบบที่อ่านง่าย 'du -h --max-depth=1 /' จะแสดงรายการขนาดของแต่ละไดเรกทอรีระดับบนสุด '-x' จะจำกัดการทำงานอยู่ภายในระบบไฟล์เดียว ดังนั้นดิสก์ที่เมาท์ไว้และ /proc จะถูกข้ามไป

การส่งผลลัพธ์ไปยังคำสั่ง sort จะช่วยค้นหารายการที่ใหญ่ที่สุด: 'du -xh --max-depth=1 / | sort -h'

ncdu

'ncdu -x /' จะสแกนระบบไฟล์รูทและเปิดรายการที่เรียกดูได้ซึ่งเรียงลำดับตามขนาด ใช้ปุ่มลูกศรเพื่อเลื่อน, Enter เพื่อเปิดโฟลเดอร์, 'd' เพื่อลบรายการที่เลือกหลังจากยืนยัน, และ 'q' เพื่อออก โดยปกติแล้ว ncdu จะติดตั้งจากแพ็กเกจของดิสทริบิวชัน (ตัวอย่างเช่น 'apt install ncdu')

เมื่อ du และ df แสดงข้อมูลไม่ตรงกัน

หาก df รายงานว่าดิสก์เต็มแต่ du พบพื้นที่ใช้งานน้อยกว่า อาจเป็นไปได้ว่าไฟล์ที่ถูกลบไปแล้วยังคงถูกเปิดค้างไว้โดยกระบวนการที่กำลังทำงานอยู่ พื้นที่จะถูกคืนค่าเมื่อกระบวนการนั้นปิดไฟล์หรือรีสตาร์ท

วิธีค้นหาว่าสิ่งใดทำให้ดิสก์เต็ม

  1. ตรวจสอบว่าระบบไฟล์ใดเต็ม: df -h
  2. แสดงรายการโฟลเดอร์ระดับบนสุดที่ใหญ่ที่สุด: sudo du -xh --max-depth=1 / | sort -h
  3. เจาะลึกลงไปอีกหนึ่งระดับในโฟลเดอร์ที่ใหญ่ที่สุดแล้วทำซ้ำ
  4. หรือเรียกดูแบบโต้ตอบ: sudo ncdu -x /

ข้อควรระวัง

  • ห้ามลบไฟล์ที่คุณไม่รู้จักใน /usr, /lib, /boot หรือ /var/lib
  • 'd' ใน ncdu จะลบทันทีหลังจากที่คุณยืนยัน โดยไม่มีถังขยะ

หมายเหตุ: RainServer มีบริการตรวจสอบและทำความสะอาดอย่างปลอดภัยสำหรับเซิร์ฟเวอร์ Linux โดยจะแสดงสิ่งที่กำลังจะเปลี่ยนแปลงและสอบถามก่อนดำเนินการ

แหล่งอ้างอิง

อัปเดตล่าสุด: 2026-10-08

บทความที่เกี่ยวข้อง