Articles

How to View Free Disk Space and Disk Usage From the Linux Terminal

  • Dave McKay

    @TheGurkha

  • April 2, 2019, 8:00am EDT
Fatmawati Achmad Zaenuri/.com

Komendy df i du raportują wykorzystanie przestrzeni dyskowej z poziomu powłoki Bash używanej w systemach operacyjnych Linux, macOS i wielu innych uniksopodobnych. Te polecenia pozwalają łatwo zidentyfikować, co zużywa pamięć masową systemu.

Przeglądanie całkowitej, dostępnej i używanej przestrzeni dyskowej

Bash zawiera dwa przydatne polecenia związane z przestrzenią dyskową. Aby dowiedzieć się o dostępnej i używanej przestrzeni dyskowej, użyj df (dyskowe systemy plików, czasami nazywane dyskami wolnymi). Aby dowiedzieć się, co zajmuje zużyte miejsce na dysku, użyj du (użycie dysku).

Wpisz df i naciśnij enter w oknie terminala Bash, aby rozpocząć. Zobaczysz wiele danych wyjściowych podobnych do poniższego zrzutu ekranu. Użycie df bez żadnych opcji spowoduje wyświetlenie dostępnej i wykorzystanej przestrzeni dla wszystkich zamontowanych systemów plików. Na pierwszy rzut oka może to wyglądać nieprzeniknione, ale jest całkiem łatwe do zrozumienia.

df
Reklama

Każda linia ekranu składa się z sześciu kolumn.

  • System plików: Nazwa tego systemu plików.
  • 1K-Blocks: Liczba bloków 1K, które są dostępne w tym systemie plików.
  • Używane: Liczba bloków 1K, które zostały użyte w tym systemie plików.
  • Dostępne: Liczba bloków 1K, które są nieużywane na tym systemie plików.
  • Use%: Ilość miejsca używanego w tym systemie plików podana w procentach.
  • File: Nazwa systemu plików, jeśli podana w wierszu poleceń.
  • Mounted on: Punkt montowania systemu plików.

Możesz zastąpić liczenie bloków 1K bardziej użytecznymi danymi wyjściowymi, używając opcji -B (block size). Aby użyć tej opcji, wpisz df, spację, a następnie -B i literę z listy K, M, G, T, P, E, Z lub Y. Litery te reprezentują wartości kilo, mega, giga, tera, peta, exa, zeta i yotta w skali wielokrotności 1024.

Na przykład, aby zobaczyć zużycie dysku w megabajtach, użyj następującego polecenia. Zauważ, że nie ma spacji między B i M.

df -BM

Opcja -h (czytelna dla człowieka) nakazuje df użycie najbardziej odpowiedniej jednostki dla rozmiaru każdego systemu plików. W następnym wyjściu zauważ, że istnieją systemy plików o rozmiarach gigabajtowych, megabajtowych, a nawet kilobajtowych.

df -h
Reklama

Jeśli potrzebujesz zobaczyć informacje reprezentowane w liczbach inodów, użyj opcji -i (inodes). Inodes to struktura danych używana przez systemy plików Linuksa do opisywania plików i przechowywania metadanych o nich. W Linuksie, inodes przechowuje dane takie jak nazwa, data modyfikacji, pozycja na dysku twardym, i tak dalej dla każdego pliku i katalogu. Nie będzie to użyteczne dla większości ludzi, ale administratorzy systemu muszą czasami odwoływać się do tego typu informacji.

df -i

Jeśli nie powiesz, że nie, df dostarczy informacji o wszystkich zamontowanych systemach plików. Może to prowadzić do zagraconego ekranu z dużą ilością danych wyjściowych. Na przykład, /dev/loop wpisy na liście są pseudo systemami plików, które pozwalają na zamontowanie pliku tak, jakby był partycją. Jeśli używasz nowego Ubuntu snap metody instalowania aplikacji, możesz zdobyć ich wiele. Dostępne na nich miejsce zawsze będzie wynosiło 0, ponieważ tak naprawdę nie są one systemami plików, więc nie musimy ich widzieć.

Możemy powiedzieć df aby wykluczyć systemy plików określonego typu. Aby to zrobić, musimy wiedzieć, jaki typ systemu plików chcemy wykluczyć. Opcja -T (print-type) dostarczy nam tej informacji. Nakazuje ona df uwzględnić typ systemu plików w danych wyjściowych.

df -T

Wszystkie wpisy /dev/loopsquashfs systemami plików. Możemy je wykluczyć za pomocą następującego polecenia:

df -x squashfs
Reklama

To daje nam bardziej przystępne dane wyjściowe. Aby uzyskać sumę, możemy dodać opcję --total.

df -x squashfs --total

Możemy poprosić df o uwzględnienie tylko systemów plików określonego typu, używając opcji -t (type).

df -t ext4

Jeśli chcemy zobaczyć rozmiary dla zestawu systemów plików, możemy podać ich nazwy. Nazwy dysków w Linuksie są alfabetyczne. Pierwszy dysk nazywa się /dev/sda , drugi dysk to /dev/sdb, i tak dalej. Partycje są numerowane. Tak więc /dev/sda1 jest pierwszą partycją na dysku /dev/sda . Powiemy df aby zwrócił informacje o konkretnym systemie plików, przekazując nazwę systemu plików jako parametr polecenia. Przyjrzyjmy się pierwszej partycji na pierwszym dysku twardym.

df /dev/sda1

Zauważ, że w nazwie systemu plików można używać symboli wieloznacznych, gdzie * reprezentuje dowolny zestaw znaków, a ? reprezentuje dowolny pojedynczy znak. Tak więc, aby przejrzeć wszystkie partycje na pierwszym dysku, moglibyśmy użyć:

df /dev/sda*
Reklama

Możemy poprosić df o raport na temat zestawu nazwanych systemów plików. Żądamy rozmiarów systemów plików /dev i /run i chcielibyśmy uzyskać sumę.

df -h --total /dev /run

Aby jeszcze bardziej dostosować wyświetlanie, możemy powiedzieć df, które kolumny uwzględnić. W tym celu użyj opcji --output i podaj listę oddzielonych przecinkami nazw wymaganych kolumn. Upewnij się, że nie ma spacji w liście rozdzielanej przecinkami.

  • źródło: Nazwa systemu plików.
  • fstype: Typ systemu plików.
  • itotal: Rozmiar systemu plików w inodach.
  • iused: Wykorzystane miejsce na systemie plików w inodach.
  • iavail: Dostępne miejsce na systemie plików w inodach.
  • ipcent: Procent wykorzystanego miejsca na systemie plików w inodach, jako wartość procentowa.
  • size: Rozmiar systemu plików, domyślnie w blokach 1K.
  • used: Wykorzystane miejsce na systemie plików, domyślnie w blokach 1K.
  • avail: Dostępna przestrzeń na systemie plików, domyślnie w blokach 1K.
  • pcent: Procent wykorzystanego miejsca na systemie plików w inodach, domyślnie w blokach 1K.
  • file: Nazwa systemu plików, jeśli została podana w wierszu poleceń.
  • target: Punkt montowania dla systemu plików.

Zapytajmy df o raport na temat pierwszej partycji na pierwszym dysku, z liczbami czytelnymi dla człowieka, oraz z kolumnami source, fstype, size, used, avail, i pcent:

df -h /dev/sda1 --output=source,fstype,size,used,avail,pcent

Długie polecenia są idealnymi kandydatami do przekształcenia w alias. Możemy utworzyć alias dfc (dla df custom ) wpisując poniższe i naciskając Enter:

alias dfc="df -h /dev/sda1 --output=source,fstype,size,used,avail,pcent"
Reklama

Wpisanie dfc i naciśnięcie Enter da taki sam efekt jak wpisanie długiej komendy. Aby uczynić ten alias trwałym, dodaj go do swojego pliku .bashrc lub .bash_aliases.

Przyglądaliśmy się sposobom dopracowania danych wyjściowych z df tak, aby wyświetlane przez niego informacje odpowiadały Twoim wymaganiom. Jeśli chcesz zastosować odwrotne podejście i sprawić, by df zwracał wszystkie informacje, jakie tylko może, użyj opcji -a (all) oraz opcji --output, jak pokazano poniżej. Opcja -a (all) powoduje, że df dołącza każdy system plików, a użycie opcji --output bez listy kolumn oddzielonych przecinkami powoduje, że df dołącza każdą kolumnę.

df -a --output

Przekazywanie danych wyjściowych z df przez polecenie less jest wygodnym sposobem na przeglądanie dużej ilości danych wyjściowych, które może to wytworzyć.

df -a --output | less

Sprawdzenie, co zajmuje miejsce na dysku

Zróbmy trochę dochodzenia i dowiedzmy się, co zajmuje miejsce na tym komputerze. Zaczniemy od jednego z naszych df poleceń.

df -h -t ext4
Reklama

Na pierwszej partycji pierwszego dysku twardego jest 78% zajętego miejsca na dysku. Możemy użyć polecenia du, aby pokazać, które foldery przechowują najwięcej danych. Wydanie polecenia du bez opcji spowoduje wyświetlenie listy wszystkich katalogów i podkatalogów znajdujących się poniżej katalogu, w którym wydano polecenie du. Jeśli zrobisz to ze swojego katalogu domowego, lista będzie bardzo długa.

du

Format wyjściowy jest bardzo prosty. Każda linia pokazuje rozmiar i nazwę katalogu. Domyślnie, rozmiar jest wyświetlany w blokach 1K. Aby zmusić du do użycia innego rozmiaru bloku, użyj opcji -B (block size). Aby użyć tej opcji wpisz du, spację, a następnie -B i literę z listy K, M, G, T, P, E, Z, i Y, tak jak zrobiliśmy to powyżej dla df . Aby użyć bloków 1M, użyj tego polecenia:

du -BM

Tak jak dfdu ma opcję czytelną dla człowieka, -h , która używa zakresu rozmiarów bloków zgodnie z rozmiarem każdego katalogu.

du -h

Opcja -s (summarize) podaje sumę dla każdego katalogu bez wyświetlania podkatalogów w obrębie każdego katalogu. Poniższe polecenie prosi du o zwrócenie informacji w formacie podsumowania, w liczbach czytelnych dla człowieka, dla wszystkich katalogów (*) poniżej bieżącego katalogu roboczego.

du -h -s *
Reklama

Folder Picture mieści zdecydowanie najwięcej danych. Możemy poprosić du o posortowanie folderów pod względem rozmiaru od największego do najmniejszego.

du -sm Pictures/* | sort -nr

Doskonaląc informacje zwracane przez df i du łatwo jest dowiedzieć się, ile miejsca na dysku twardym jest w użyciu i odkryć, co zajmuje to miejsce. Dzięki temu można podjąć świadomą decyzję o przeniesieniu niektórych danych do innej pamięci masowej, dodaniu kolejnego dysku twardego do komputera lub usunięciu zbędnych danych.

Te polecenia mają wiele opcji. Opisaliśmy tu najbardziej przydatne opcje, ale pełną listę opcji dla polecenia df i dla polecenia du można znaleźć na stronach man systemu Linux.

Dave McKay
Dave McKay po raz pierwszy używał komputerów, gdy modna była taśma papierowa dziurkowana, i od tego czasu programuje. Po ponad 30 latach pracy w branży IT, obecnie jest pełnoetatowym dziennikarzem technologicznym. W swojej karierze pracował jako niezależny programista, kierownik międzynarodowego zespołu programistów, kierownik projektu usług informatycznych, a ostatnio jako inspektor ochrony danych. Dave jest ewangelistą Linuksa i zwolennikiem open source.Read Full Bio”

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *