ทำไม ls และ du แสดงขนาดแตกต่างกัน


17

ฉันกำลังดาวน์โหลดไฟล์ด้วย rtorrent

เมื่อฉันตรวจสอบโฟลเดอร์ที่ไฟล์นั้นอยู่ไฟล์ที่มีขนาดนั้น ls คำสั่งคือ 4.4GB แต่เมื่อฉันตรวจสอบดิสก์ด้วย du คำสั่งมันแสดงให้ฉัน 219MB ปัญหาเดียวกันกับ df คำสั่งที่ดูเหมือนว่าเพียงคำนวณ 219MB หนึ่ง


นี่คือผลลัพธ์คอนโซลของฉัน

root@SERVER:/home/.root/TMP/tnt/d1/xxx# dir -alh

total 219M
drwxr-xr-x  2 root root 4.0K 2010-01-10 15:30 .
drwxr-xr-x 15 root root 4.0K 2010-01-10 15:30 ..
-rw-r--r--  1 root root 4.4G 2010-01-11 10:55 yyy.mkv

root@SERVER:/home/.root/TMP/tnt/d1/xxx# du -h

219M    .

root@SERVER:/home/.root/TMP/tnt/d1/xxx# 

ฉันเจอปัญหาเดียวกันนี้วันนี้หลังจากใช้อิมเมจดิสก์เพิ่มขึ้น qemu-img resize.
Pete

คำตอบ:


31

มันคือ ไฟล์กระจัดกระจาย . ls กำลังรายงานขนาดที่จัดสรร du กำลังรายงานจำนวนเนื้อที่ที่ใช้จริง

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

เพื่อบังคับให้ du และ df เพื่อรวม sparces จาก man du ตัวเลือกที่สองที่ระบุไว้คือ --apparent-size:

du -s -B1 --apparent-size
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.