Dostępne miejsce na dysku w systemie operacyjnym Unix / Linux

11

Jak uzyskać dostępne miejsce na dysku w systemie operacyjnym Unix / Linux, w tym nieprzydzielone miejsce (które nie zostało przypisane do żadnej partycji)?

krapstuke
źródło
1
Pozostałe zamieszczone tutaj odpowiedzi są doskonałe, więc nie dodam do nich (choć będę je głosować!), Ale zauważę, że prawie każde polecenie, aby spojrzeć na surowe urządzenie (to jest to, co musisz zrobić, aby patrz miejsce, które nie zostało jeszcze udostępnione użytkownikom systemu) wymaga uprawnień. Jeśli nie masz roota, zapomnij o tym.
MadHatter
1
A jeśli masz problem, który próbujesz rozwiązać, powinieneś o nim napisać.
Michael Hampton
Mój problem polega na tym, że nie wiem, jak uzyskać dostępną przestrzeń dyskową, to wszystko.
krapstuke

Odpowiedzi:

20

W systemie Linux wolne miejsce można ukryć w wielu miejscach:

  1. Wolne miejsce w systemie plików (najbardziej oczywiste):

    df -h
    
  2. Niepodzielone miejsce:

    for dev in /dev/sd?; do parted "$dev" print; done
    

    lub

    for dev in /dev/sd?; do fdisk -l "$dev"; done
    

    i dokładnie przestudiuj, ile miejsca jest między partycjami oraz między partycjami a końcem urządzenia

  3. Wolne miejsce w systemie LVM:

    vgs
    

    lub

    pvs
    

    wolumin fizyczny może zajmować mniej miejsca niż rozmiar partycji, więc porównaj jego rozmiar z rozmiarem partycji

  4. Miejsce nieprzypisane do partycji w systemie MD:

    for dev in /dev/md*; do mdadm --detail "$dev"; done
    

    Musisz porównać „Używany rozmiar dewelopera” z rozmiarem partycji

  5. Systemy plików mogą być mniejsze niż wolumin, na którym się znajdują (dzięki @PaulGear!). Należy porównać rozmiar woluminu logicznego LVM, urządzenia MD RAID, partycji lub innego urządzenia, na którym znajduje się system plików, z rozmiarem systemu plików (zwracanego przez df).

Jeśli masz więcej niż jeden dysk lub grupę woluminów LVM i stosunkowo nową dystrybucję, możesz użyć lsblkdo wyświetlenia drzewa urządzeń blokowych wraz z punktami montowania.

UWAGA: Istnieje również różnica między marketingowym GB (który jest 10 ^ 9B) a OS lub inżynieryjnym GB (który jest 2 ^ 30B i powinien być napisany GiB, aby rozróżnić oba). 40 GB to około 37,25 GiB. Wszystkie powyższe narzędzia oprócz parteddomyślnych jednostek używają binarnych gigabajtów. Dodaj unit MiBdo polecenia parted, zanim printuzyskasz odpowiedzi w Mebibytes (przydatne również do wyrównywania partycji na dyskach SSD i sektorach 4KiB).

Hubert Kario
źródło
1
Zauważ również, że pomiędzy pęknięciami może chować się przestrzeń, np. Jeśli masz LV o wartości 40 GiB i system plików, który ma tylko 30 GiB. Upewnij się, że sprawdziłeś krzyżowo odpowiedzi na dfi lvs.
Paul Gear,
1

Możesz zobaczyć partycje z „df -h”. W pozostałych przypadkach możesz użyć „parted discname ”, a następnie „print”.

Jeroen
źródło