ฉันสับสนกับผลลัพธ์ของคำสั่ง 'du' ใน Linux


21

ฉันสร้างไฟล์ชื่อ file.o ฉันต้องการตรวจสอบขนาดของไฟล์ file.o

du -h file.o ====> 4.0K

du -b file.o ====> 1120

ตามที่du -b file.oฉันได้รู้จัก file.o มีขนาดใหญ่ 1120bytes แต่ทำไมdu -h file.oเอาต์พุต 4.0K (หมายถึง 4 * 1024 ไบต์)

คำตอบ:


33

ไฟล์มีขนาดเล็กลง แต่ใช้ทั้งบล็อก 4.0K เดียวบนดิสก์ (คุณสามารถมีไฟล์ได้เพียงไฟล์เดียวเท่านั้นในบล็อกเดียว) หากขนาดของไบต์เป็น (เช่น) 5678 ไบต์มันจะใช้สองบล็อก 4.0K คือ 8.0K

du -b พิมพ์ขนาดเป็นไบต์แทนที่ขนาดบล็อกเริ่มต้น


10

เพื่อเพิ่มคำตอบของ eumiro ขนาดบล็อกอาจแตกต่างกันสำหรับแต่ละระบบไฟล์ / พาร์ติชัน

คุณสามารถค้นหาบล็อกขนาดระบบแฟ้มของใช้หรือtune2fs -l /dev/<disk> | grep '^Block size'stat -c "%o" <file on the disk>

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