Saya bingung dengan output dari perintah 'du' di Linux

21

Saya membuat file bernama file.o, saya ingin memeriksa ukuran file file.o.

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

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

menurut du -b file.o, saya mengenal file.o adalah 1120bytes besar. Tapi mengapa du -h file.ooutput 4.0K (berarti 4 * 1024 byte)?

Jason
sumber

Jawaban:

33

File ini lebih kecil, tetapi dibutuhkan satu blok 4.0K keseluruhan pada disk (Anda hanya dapat memiliki satu file dalam satu blok). Jika ukuran byte-nya (misalnya) 5678 Bytes, ia akan menempati dua blok 4.0K, yaitu 8.0K.

du -b mencetak ukuran dalam byte, mengesampingkan ukuran blok default.

eumiro
sumber
10

Untuk menambah jawaban eumiro, ukuran blok dapat berbeda untuk setiap sistem file / partisi.

Anda dapat menemukan ukuran blok sistem file menggunakan tune2fs -l /dev/<disk> | grep '^Block size'atau stat -c "%o" <file on the disk>.

Mikel
sumber