Odpowiedzi:
GNU du
ma --block-size
opcję:
du -csh --block-size=1G .
Jak zauważył sajb , pominięcie argumentu rozmiaru bloku spowoduje automatyczne skalowanie wyjścia (i wyświetlenie jednostki). Użycie dowolnego argumentu rozmiaru bloku wyświetla liczbę, ale pomija jednostkę.
-h
. Jest to obsługiwana opcja, która powoduje, że dane wyjściowe są „czytelne dla człowieka” (tj. Z przyrostkami jednostek i skalowane). Ale prawdą jest, że jest on ignorowany, gdy --block-size
jest używany. Jest to odnotowane w mojej odpowiedzi.
Dla wygody oto odniesienie do macOS:
-h
Wyjście „czytelne dla człowieka”. Używaj przyrostków jednostek: Bajt, Kilobajt, Megabajt, Gigabajt, Terabajt i Petabajt.-k
Liczba wyświetlanych bloków w blokach 1024-bajtowych (1-Kbyte).-m
Wyświetlaj liczby bloków w blokach 1 048 576 bajtów (1 MB).-g
Liczba wyświetlanych bloków w blokach 1 073 741 824 bajtów (1 Gb).Oto jak działają różne opcje dla danego 1,234,567 KB
pliku:
$ 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
Warto również zauważyć, że można skonfigurować zachowanie niejawne za pomocą BLOCKSIZE
zmiennej środowiskowej:
BLOCKSIZE
Jeśli zmienna środowiskowaBLOCKSIZE
jest ustawiona, a-k
opcja nie jest określona, liczby bloków będą wyświetlane w jednostkach tego bloku wielkości. JeśliBLOCKSIZE
nie jest ustawiony, a-k
opcja nie jest określona, liczby bloków będą wyświetlane w512
blokach bajtów.