Sono confuso con l'output del comando 'du' in Linux


21

Creo un file chiamato file.o, voglio controllare la dimensione del file file.o.

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

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

secondo du -b file.o, conosco file.o è grande 1120bytes. Ma perché du -h file.ooutput 4.0K (significa 4 * 1024 byte)?

Risposte:


33

Il file è più piccolo, ma richiede un intero blocco 4.0K sul disco (puoi avere solo un file in un blocco). Se la sua dimensione in byte fosse (ad esempio) 5678 byte, occuperebbe due blocchi da 4.0 KB, ovvero 8.0 KB.

du -b stampa le dimensioni in byte, sovrascrivendo la dimensione del blocco predefinita.


10

Per aggiungere alla risposta di eumiro, la dimensione del blocco può essere diversa per ogni file system / partizione.

Puoi trovare la dimensione del blocco di un filesystem usando tune2fs -l /dev/<disk> | grep '^Block size'o stat -c "%o" <file on the disk>.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.