Réponses:
GNU du
a l' --block-size
option:
du -csh --block-size=1G .
Comme sajb l'a noté, l'omission de l'argument de taille de bloc mettra automatiquement à l'échelle la sortie (et affichera l'unité). L'utilisation de n'importe quel argument de taille de bloc affiche le nombre mais omet l'unité.
-h
ne pas travailler. Il s'agit d'une option prise en charge qui fait que la sortie est "lisible par l'homme" (c'est-à-dire avec des suffixes d'unité et mise à l'échelle). Mais il est vrai qu'il est ignoré lors de --block-size
son utilisation. Cela est noté dans ma réponse.
Pour plus de commodité, voici la référence pour macOS:
-h
Sortie "lisible par l'homme". Utilisez les suffixes d'unité: octet, kilo-octet, mégaoctet, gigaoctet, téraoctet et pétaoctet.-k
Affichage du nombre de blocs dans des blocs de 1 024 octets (1 Ko).-m
Affichage du nombre de blocs dans des blocs de 1 048 576 octets (1 Mo).-g
Affichage du nombre de blocs dans des blocs de 1 073 741 824 octets (1 Go).Voici comment les différentes options fonctionnent avec un 1,234,567 KB
fichier:
$ mkfile -n 1234567k file.txt
$ du file.txt
2469136 file.txt
$ du -k file.txt
1234568 file.txt
$ du -m file.txt
1206 file.txt
$ du -g file.txt
2 file.txt
$ du -h file.txt
1.2G file.txt
A noter également, vous pouvez configurer le comportement implicite via la BLOCKSIZE
variable d'environnement:
BLOCKSIZE
Si la variable d'environnementBLOCKSIZE
est définie et que l'-k
option n'est pas spécifiée, le nombre de blocs sera affiché en unités de ce bloc de taille. SiBLOCKSIZE
n'est pas défini et que l'-k
option n'est pas spécifiée, le nombre de blocs sera affiché en512
blocs de -byte.