Je suis confondu avec la sortie de la commande 'du' sous Linux

21

Je crée un fichier nommé file.o, je veux vérifier la taille du fichier file.o.

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

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

selon du -b file.o, j'apprends à connaître file.o fait 1120 octets. Mais pourquoi du -h file.ogénère 4.0K (signifie 4 * 1024 octets)?

Jason
la source

Réponses:

33

Le fichier est plus petit, mais il prend un bloc entier de 4,0 Ko sur le disque (vous ne pouvez avoir qu'un seul fichier dans un bloc). Si sa taille en octets était (par exemple) de 5 578 octets, il occuperait deux blocs de 4,0 Ko, soit 8 000 Ko.

du -b imprime les tailles en octets, remplaçant la taille de bloc par défaut.

eumiro
la source
10

Pour ajouter à la réponse d'eumiro, la taille du bloc peut être différente pour chaque système de fichiers / partition.

Vous pouvez trouver la taille de bloc d'un système de fichiers en utilisant tune2fs -l /dev/<disk> | grep '^Block size'ou stat -c "%o" <file on the disk>.

Mikel
la source