Cela marche:
du -cshm .
Mais cela échoue:
du -cshg .
Comment puis-je le voir en unité de Go?
GNU du
a le --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 d'un argument de taille de bloc affiche le nombre mais omet l'unité.
Pour plus de commodité, voici une 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 1024 octets (1 kilo-octet).-m
Affichage du nombre de blocs par 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 fonctionnent les différentes options étant donné 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 variable d'environnement BLOCKSIZE
:
BLOCKSIZE
Si la variable d'environnementBLOCKSIZE
est définie et que-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-k
l'option n'est pas spécifiée, le nombre de blocs sera affiché dans512
- blocs d'octets.
Utilisation du -B1073741824
mais attention, 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