Jak wyświetlić du w GB zamiast MB w systemie Linux?


24

To działa:

du -cshm .

Ale to się nie udaje:

du -cshg .

Jak mogę to zobaczyć w jednostkach GB?

Odpowiedzi:


41

GNU duma --block-sizeopcję:

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ę.


Przy (GNU coreutils) 8,25 -h nie działało, podczas gdy rozmiar bloku = 1G!
Florian Straub

@FlorianStraub: Nie jestem pewien, co masz na myśli mówiąc o niedziałaniu -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-sizejest używany. Jest to odnotowane w mojej odpowiedzi.
Wstrzymano do odwołania.

moje złe: Miałem na myśli „-g nie działało”
Florian Straub

4

Dla wygody oto odniesienie do macOS:

  • -hWyjś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 KBpliku:

$ 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ą BLOCKSIZEzmiennej środowiskowej:

BLOCKSIZEJeśli zmienna środowiskowa BLOCKSIZEjest ustawiona, a -kopcja nie jest określona, ​​liczby bloków będą wyświetlane w jednostkach tego bloku wielkości. Jeśli BLOCKSIZEnie jest ustawiony, a -kopcja nie jest określona, ​​liczby bloków będą wyświetlane w 512blokach bajtów.


1

Używaj, du -B1073741824ale uważaj, daje wynik tylko w liczbach całkowitych i nie będzie miał znaczenia-h


0

Oprócz poprzednich odpowiedzi wydaje się również różnić między różnymi wersjami coreutils (lub ustawieniami regionalnymi?), Ponieważ na moim hoście otrzymuję:

$ du -csh .
32G     .
32G     total
$ du --version | head -1
du (GNU coreutils) 7.4
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.