Android

วิธีรับขนาดของไดเรกทอรีใน linux

What the Waters Left Behind Trailer 2 (2018) Los Olvidados

What the Waters Left Behind Trailer 2 (2018) Los Olvidados

สารบัญ:

Anonim

เมื่อแสดงรายการเนื้อหาของไดเรกทอรีโดยใช้ ls สั่ง ls คุณอาจสังเกตเห็นว่าขนาดของไดเรกทอรีเกือบ 4096 ไบต์เสมอ (4 KB) ขนาดของพื้นที่บนดิสก์ที่ใช้ในการจัดเก็บข้อมูลเมตาสำหรับไดเรกทอรีไม่ใช่ที่มีอยู่

คำสั่งที่คุณต้องการใช้เพื่อให้ได้ขนาดจริงของไดเรกทอรีคือ du ซึ่งย่อมาจาก“ การใช้ดิสก์”

รับขนาดของไดเรกทอรี

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

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

โดยทั่วไปแล้วคุณต้องการแสดงพื้นที่ที่ไดเรกทอรีครอบครองอยู่ในรูปแบบที่มนุษย์สามารถอ่านได้ ตัวอย่างเช่นเพื่อให้ได้ขนาดโดยรวมของไดเร็กทอรี /var คุณจะต้องรันคำสั่งต่อไปนี้:

sudo du -sh /var

ผลลัพธ์จะมีลักษณะดังนี้:

85G /var

มาอธิบายคำสั่งและอาร์กิวเมนต์:

  • คำสั่งเริ่มต้นด้วย sudo เนื่องจากไฟล์และไดเรกทอรีส่วนใหญ่ภายในไดเรกทอรี /var เป็นของผู้ใช้รูทและไม่สามารถอ่านได้โดยผู้ใช้ปกติ หากคุณไม่ใช้ sudo คำสั่ง du จะพิมพ์“ du: ไม่สามารถอ่านไดเรกทอรี” s - แสดงเฉพาะขนาดรวมของไดเรกทอรีที่ระบุอย่าแสดงผลรวมขนาดไฟล์สำหรับไดเรกทอรีย่อย h - ขนาดการพิมพ์ในรูปแบบที่มนุษย์สามารถอ่านได้ ( h ) /var - เส้นทางไปยังไดเรกทอรีที่คุณต้องการรับขนาด

ถ้าคุณต้องการแสดงการใช้งานดิสก์ของไดเรกทอรีย่อยระดับแรก คุณมีสองตัวเลือก สิ่งแรกคือการใช้สัญลักษณ์เครื่องหมายดอกจัน ( * ) ตามที่แสดงด้านล่างซึ่งหมายความว่า "จับคู่ทุกอย่างที่ไม่ได้ขึ้นต้นด้วยจุด ( . )" ตัวเลือก -c บอกให้คุณพิมพ์ขนาดทั้งหมด:

sudo du -shc /var/*

24K /var/db 4.0K /var/empty 4.0K /var/games 77G /var/lib 4.0K /var/local 0 /var/lock 3.3G /var/log 0 /var/mail 4.0K /var/opt 0 /var/run 196K /var/spool 28K /var/tmp 85G total

อีกวิธีในการรับรายงานเกี่ยวกับการใช้งานดิสก์ของไดเรกทอรีย่อยระดับแรกคือการใช้ตัวเลือก --max-depth :

sudo du -h --max-depth=1 /var

77G /var/lib 24K /var/db 4.0K /var/empty 4.0K /var/local 4.0K /var/opt 196K /var/spool 4.0K /var/games 3.3G /var/log 5.0G /var/cache 28K /var/tmp 85G /var 85G total

โดยค่าเริ่มต้นคำสั่ง du แสดงพื้นที่ดิสก์ที่ใช้โดยไดเรกทอรีหรือไฟล์ หากต้องการค้นหาขนาดที่ชัดเจนของไดเรกทอรีให้ใช้ตัวเลือก --apparent-size "ขนาดที่ชัดเจน" ของไฟล์คือปริมาณข้อมูลในไฟล์

sudo du -sh --apparent-size /var

เมื่อคุณถ่ายโอนไดเรกทอรีผ่าน SCP, Rsync. หรือ SFTP จำนวนข้อมูลที่ถูกถ่ายโอนผ่านเครือข่ายจะมีขนาดที่ชัดเจนของไฟล์ นี่คือสาเหตุที่ขนาดของพื้นที่บนดิสก์ที่ใช้กับแหล่งที่มาเมื่อแสดงด้วย du (ไม่มี --apparent-size ) ไม่เหมือนกับขนาดของเป้าหมาย

คำสั่ง du ยังสามารถรวมกับคำสั่งอื่น ๆ ด้วยไพพ์

ตัวอย่างเช่นหากต้องการพิมพ์ 5 ไดเร็กทอรีที่ใหญ่ที่สุดภายในไดเร็กทอรี /var คุณจะไพพ์เอาต์พุตของ du ไปยังคำสั่ง sort เพื่อเรียงลำดับไดเร็กทอรีตามขนาดจากนั้นไพพ์เอาต์พุตไปยังคำสั่ง head ที่จะพิมพ์เฉพาะไดเรกทอรี 5 อันดับแรก:

sudo du -h /var/ | sort -rh | head -5

85G /var/ 77G /var/lib 75G /var/lib/libvirt/images 75G /var/lib/libvirt 5.0G /var/cache/pacman/pkg

ข้อสรุป

ใน Linux คุณสามารถรับขนาดของไดเรกทอรีโดยใช้คำสั่ง du

ดิสก์ปลายทาง