Cela marche:
du -cshm .
Mais cela échoue:
du -cshg .
Comment puis-je le voir en unité de Go?
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é.
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.
Utilisez du -B1073741824
mais méfiez-vous, il donne le résultat en unités entières uniquement, et ne sera pas significatif avec-h
En plus des réponses précédentes, il semble également différer entre les différentes versions de coreutils (ou locale?), Car sur mon hôte, j'obtiens:
$ du -csh .
32G .
32G total
$ du --version | head -1
du (GNU coreutils) 7.4
-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.