ค้นหาเว็บไซต์

วิธีค้นหาไดเรกทอรีและไฟล์ยอดนิยม (พื้นที่ดิสก์) ใน Linux


ในฐานะผู้ดูแลระบบ Linux คุณต้องตรวจสอบเป็นระยะว่าไฟล์และโฟลเดอร์ใดใช้พื้นที่ดิสก์มากกว่า จำเป็นอย่างยิ่งที่จะต้องค้นหาขยะที่ไม่จำเป็นและกำจัดมันออกจากฮาร์ดดิสก์ของคุณ

บทช่วยสอนสั้นๆ นี้อธิบายวิธีค้นหาไฟล์และโฟลเดอร์ที่ใหญ่ที่สุดในระบบไฟล์ Linux โดยใช้ du (การใช้ดิสก์) และค้นหาคำสั่ง หากคุณต้องการเรียนรู้เพิ่มเติมเกี่ยวกับคำสั่งทั้งสองนี้ โปรดไปที่บทความต่อไปนี้

  • เรียนรู้ 10 คำสั่ง 'du' (การใช้งานดิสก์) ที่เป็นประโยชน์ใน Linux
  • ฝึกฝนคำสั่ง 'ค้นหา' ด้วยตัวอย่างการใช้งานจริง 35 ตัวอย่าง

วิธีค้นหาไฟล์และไดเร็กทอรีที่ใหญ่ที่สุดใน Linux

เรียกใช้คำสั่งต่อไปนี้เพื่อค้นหาไดเร็กทอรีที่ใหญ่ที่สุดอันดับต้น ๆ ภายใต้พาร์ติชัน /home

du -a /home | sort -n -r | head -n 5

คำสั่งด้านบนแสดง 5 ไดเรกทอรีที่ใหญ่ที่สุดของพาร์ติชัน /home ของฉัน

ค้นหาไดเรกทอรีที่ใหญ่ที่สุดใน Linux

หากคุณต้องการแสดงไดเร็กทอรีที่ใหญ่ที่สุดในไดเร็กทอรีการทำงานปัจจุบัน ให้รัน:

du -a | sort -n -r | head -n 5

ให้เราแยกย่อยคำสั่งและดูว่าแต่ละพารามิเตอร์พูดว่าอะไร

  • คำสั่ง du: ประมาณการการใช้พื้นที่ไฟล์
  • a : แสดงไฟล์และโฟลเดอร์ทั้งหมด
  • คำสั่ง sort : จัดเรียงบรรทัดของไฟล์ข้อความ
  • -n : เปรียบเทียบตามค่าตัวเลขสตริง
  • -r : กลับผลลัพธ์ของการเปรียบเทียบ
  • head : ส่งออกส่วนแรกของไฟล์
  • -n : พิมพ์ 'n' บรรทัดแรก (ในกรณีของเรา เราแสดง 5 บรรทัดแรก)

บางท่านต้องการแสดงผลลัพธ์ข้างต้นในรูปแบบที่มนุษย์สามารถอ่านได้ กล่าวคือ คุณอาจต้องการแสดงไฟล์ที่ใหญ่ที่สุดในหน่วย KB, MB หรือ GB

du -hs * | sort -rh | head -5

คำสั่งดังกล่าวจะแสดงไดเร็กทอรีบนสุดซึ่งกินพื้นที่ดิสก์มากขึ้น หากคุณรู้สึกว่าบางไดเร็กทอรีไม่สำคัญ คุณสามารถลบไดเร็กทอรีย่อยบางส่วนหรือลบทั้งโฟลเดอร์เพื่อเพิ่มพื้นที่ว่างได้

หากต้องการแสดงโฟลเดอร์/ไฟล์ที่ใหญ่ที่สุดรวมถึงไดเร็กทอรีย่อย ให้รัน:

du -Sh | sort -rh | head -5

ค้นหาความหมายของแต่ละตัวเลือกโดยใช้คำสั่งด้านบน:

  • คำสั่ง du: ประมาณการการใช้พื้นที่ไฟล์
  • -h : ขนาดการพิมพ์ในรูปแบบที่มนุษย์สามารถอ่านได้ (เช่น 10MB)
  • -S : ไม่รวมขนาดของไดเรกทอรีย่อย
  • -s : แสดงเฉพาะผลรวมสำหรับแต่ละอาร์กิวเมนต์
  • คำสั่ง sort : เรียงลำดับบรรทัดของไฟล์ข้อความ
  • -r : กลับผลลัพธ์ของการเปรียบเทียบ
  • -h : เปรียบเทียบตัวเลขที่มนุษย์อ่านได้ (เช่น 2K, 1G)
  • head : ส่งออกส่วนแรกของไฟล์

ค้นหาขนาดไฟล์ยอดนิยมเท่านั้น

หากคุณต้องการแสดงเฉพาะขนาดไฟล์ที่ใหญ่ที่สุด ให้รันคำสั่งต่อไปนี้:

find -type f -exec du -Sh {} + | sort -rh | head -n 5

หากต้องการค้นหาไฟล์ที่ใหญ่ที่สุดในตำแหน่งเฉพาะ เพียงใส่เส้นทางข้างคำสั่ง find:

find /home/tecmint/Downloads/ -type f -exec du -Sh {} + | sort -rh | head -n 5
OR
find /home/tecmint/Downloads/ -type f -printf "%s %p\n" | sort -rn | head -n 5

คำสั่งด้านบนจะแสดงไฟล์ที่ใหญ่ที่สุดจากไดเร็กทอรี /home/tecmint/Downloads

นั่นคือทั้งหมดที่สำหรับตอนนี้. การค้นหาไฟล์และโฟลเดอร์ที่ใหญ่ที่สุดไม่ใช่เรื่องใหญ่ แม้แต่ผู้ดูแลระบบมือใหม่ก็สามารถค้นหาได้อย่างง่ายดาย หากคุณพบว่าบทช่วยสอนนี้มีประโยชน์ โปรดแชร์บนโซเชียลเน็ตเวิร์กของคุณและสนับสนุน TecMint