Jak wyświetlić wolne miejsce na dysku i wykorzystanie dysku w terminalu systemu Linux

Polecenia df i du raportują wykorzystanie miejsca na dysku z poziomu powłoki Bash używanej w systemach Linux, macOS i wielu innych systemach operacyjnych podobnych do Uniksa. Te polecenia pozwalają łatwo zidentyfikować, co zużywa pamięć systemu.

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

Bash zawiera dwa przydatne polecenia związane z miejscem na dysku. Aby sprawdzić dostępne i używane miejsce na dysku, użyj df (dyskowe systemy plików, czasami nazywane wolnymi od dysku). Aby dowiedzieć się, co zajmuje miejsce na dysku, użyj du (użycie dysku).

Wpisz df i naciśnij Enter w oknie terminala Bash, aby rozpocząć. Zobaczysz dużo danych wyjściowych podobnych do poniższego zrzutu ekranu. Użycie df bez żadnych opcji wyświetli dostępne i zajęte miejsce dla wszystkich zamontowanych systemów plików. Na pierwszy rzut oka może wydawać się nieprzenikniony, ale jest dość łatwy do zrozumienia.

df

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

System plików: nazwa tego systemu plików.
Bloki 1K: Liczba bloków 1K dostępnych w tym systemie plików.
Używany: 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 w tym systemie plików.
Użyj%: ilość miejsca używanego w tym systemie plików podana w procentach.
Plik: nazwa systemu plików, jeśli została określona w wierszu poleceń.
Zamontowany na: punkt montowania systemu plików.

Liczbę bloków 1K można zastąpić bardziej użytecznymi danymi wyjściowymi, używając opcji -B (rozmiar bloku). Aby skorzystać z 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ą kilo, mega, giga, tera, wartości peta, exa, zeta i yotta z wielokrotności 1024 skali.

Na przykład, aby wyświetlić dane dotyczące wykorzystania dysku w megabajtach, należy użyć następującego polecenia. Zauważ, że nie ma odstępu między B i M.

df -BM

wyjście z polecenia df z opcjami -BM

Opcja -h (czytelna dla człowieka) instruuje df, aby używał najbardziej odpowiedniej jednostki dla rozmiaru każdego systemu plików. W następnym wyjściu zauważ, że istnieją systemy plików o rozmiarach gigabajtów, megabajtów, a nawet kilobajtów.

df -h

Wyjście z polecenia df z opcją -h

Jeśli chcesz zobaczyć informacje przedstawione w liczbie i-węzłów, użyj opcji -i (i-węzły). I-węzeł to struktura danych używana przez systemy plików Linuksa do opisywania plików i przechowywania ich metadanych. W systemie Linux i-węzły przechowują dane, takie jak nazwa, data modyfikacji, pozycja na dysku twardym itd. Dla każdego pliku i katalogu. Nie będzie to przydatne dla większości ludzi, ale administratorzy systemu muszą czasami odwoływać się do tego typu informacji.

df -i

wyjście z polecenia df z opcją -i

O ile nie zalecono, aby tego nie robić, df udostępni informacje o wszystkich zamontowanych systemach plików. Może to prowadzić do zagracenia wyświetlacza z dużą ilością danych wyjściowych. Na przykład wpisy / dev / loop na listach to pseudosystemy plików, które pozwalają na zamontowanie pliku tak, jakby był partycją. Jeśli używasz nowej metody instalowania aplikacji przez Ubuntu, możesz zdobyć wiele z nich. Miejsce dostępne na nich zawsze będzie wynosić 0, ponieważ tak naprawdę nie są one systemem plików, więc nie musimy ich widzieć.

Możemy nakazać df wykluczenie systemów plików określonego typu. Aby to zrobić, musimy wiedzieć, jaki typ systemu plików chcemy wykluczyć. Opcja -T (print-type) da nam te informacje. Nakazuje df dołączenie typu systemu plików do wyniku.

df -T

Wyjście z polecenia df z opcją -T

Wszystkie wpisy / dev / loop to systemy plików squashfs. Możemy je wykluczyć za pomocą następującego polecenia:

df -x squashfs

Wyjście z polecenia df z opcjami df -x squashfs

To daje nam łatwiejszy do opanowania wynik. Aby otrzymać sumę, możemy dodać opcję –total.

df -x squashfs --total

Wyjście z polecenia df z opcjami df -x squashfs --total

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

df -t ext4

Wyjście z polecenia df z opcjami df -t ext4

Jeśli chcemy zobaczyć rozmiary zestawu systemów plików, możemy określić je według nazwy. Nazwy dysków w systemie Linux są alfabetyczne. Pierwszy dysk to / dev / sda, drugi to / dev / sdb i tak dalej. Partycje są ponumerowane. Więc / dev / sda1 jest pierwszą partycją na dysku / dev / sda. Mówimy df, aby zwracał informacje o określonym systemie plików, przekazując nazwę systemu plików jako parametr polecenia. Spójrzmy na pierwszą partycję pierwszego dysku twardego.

df /dev/sda1

Dane wyjściowe z polecenia df z opcjami df / dev / sda1

Zauważ, że możesz użyć symboli wieloznacznych w nazwie systemu plików, gdzie * reprezentuje dowolny zestaw znaków, a? reprezentuje dowolny pojedynczy znak. Aby spojrzeć na wszystkie partycje na pierwszym dysku, możemy użyć:

df /dev/sda*

Możemy poprosić df o raportowanie zestawu nazwanych systemów plików. On żądamy rozmiarów systemów plików / dev i / run, a my chcielibyśmy otrzymać sumę.

df -h --total /dev /run

Dane wyjściowe polecenia df z opcjami df -h --total / dev / run

Aby dodatkowo dostosować wyświetlanie, możemy powiedzieć df, które kolumny mają zostać uwzględnione. Aby to zrobić, użyj opcji –output i podaj rozdzieloną przecinkami listę wymaganych nazw kolumn. Upewnij się, że lista oddzielona przecinkami nie zawiera spacji.

źródło: nazwa systemu plików.
fstype: typ systemu plików.
itotal: rozmiar systemu plików w i-węzłach.
iused: Przestrzeń używana w systemie plików w i-węzłach.
iavail: dostępne miejsce w systemie plików w i-węzłach.
ipcent: Procent używanego miejsca w systemie plików w i-węzłach, jako procent.
rozmiar: rozmiar systemu plików, domyślnie 1K bloków.
used: Miejsce używane w systemie plików, domyślnie w 1K blokach.
avail: dostępne miejsce w systemie plików, domyślnie w 1K blokach.
pcent: Procent używanego miejsca w systemie plików w i-węzłach, domyślnie w blokach 1K.
plik: nazwa systemu plików, jeśli została podana w wierszu poleceń.
cel: punkt podłączenia systemu plików.

Poprośmy df o raport z 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

Dane wyjściowe z polecenia df z opcjami 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 niestandardowego df), wpisując następujące polecenie i naciskając klawisz Enter:

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

Tworzenie aliasu za pomocą aliasu polecenia dfc =

Wpisanie dfc i naciśnięcie klawisza Enter będzie miało taki sam efekt, jak wpisanie długiego polecenia. Aby ten alias był trwały, dodaj go do pliku .bashrc lub .bash_aliasesfile.

Szukaliśmy sposobów na udoskonalenie danych wyjściowych z df, aby wyświetlane informacje odpowiadały Twoim wymaganiom. Jeśli chcesz przyjąć odwrotne podejście i chcesz, aby df zwrócił wszystkie informacje, może użyć opcji -a (all) i –output, jak pokazano poniżej. Opcja -a (all) powoduje, że df włącza każdy system plików, a użycie opcji –output bez listy kolumn oddzielonych przecinkami powoduje, że df uwzględnia każdą kolumnę.

df -a --output

Wyjście z polecenia df z opcjami -a i --output

Przepuszczanie danych wyjściowych z df za pomocą polecenia less jest wygodnym sposobem przeglądania dużej ilości danych wyjściowych, jakie może ono wygenerować.

df -a --output | less

Sprawdzanie, co zajmuje zajęte miejsce na dysku

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

df -h -t ext4

Wyjście opcji df -h -t ext4

Pierwsza partycja pierwszego dysku twardego zajmuje 78% miejsca na dysku. Możemy użyć polecenia du, aby pokazać, które foldery zawierają najwięcej danych. Wydanie polecenia du bez żadnych opcji spowoduje wyświetlenie listy wszystkich katalogów i podkatalogów poniżej katalogu, w którym polecenie du zostało wydane. Jeśli zrobisz to z katalogu domowego, lista będzie bardzo długa.

du

Wyjście polecenia 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 wymusić na du użycie innego rozmiaru bloku, użyj opcji -B (rozmiar bloku). Aby skorzystać z 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

Wyjście polecenia du z opcjami -BM

Podobnie jak df, du ma opcję czytelną dla człowieka, -h, która używa zakresu rozmiarów bloków w zależności od rozmiaru każdego katalogu.

du -h

Wyjście polecenia du z opcją -h

Opcja -s (summarize) podaje sumę dla każdego katalogu bez wyświetlania podkatalogów w każdym katalogu. Następujące polecenie prosi du o zwrócenie informacji w formacie podsumowania, w postaci czytelnej dla człowieka, dla wszystkich katalogów

du -h -s *

poniżej bieżącego katalogu roboczego.

Wyjście polecenia du z opcjami -h -s *

du -sm Pictures/* | sort -nr

Zdecydowanie najwięcej danych zawiera folder Picture.  Możemy poprosić du o posortowanie folderów według rozmiaru od największego do najmniejszego.

Wyjście polecenia du z opcją -sm Pictures / *! sort -nr opcje

Udoskonalając informacje zwracane przez df i du, łatwo jest dowiedzieć się, ile miejsca na dysku twardym jest zajęte, i dowiedzieć się, co zajmuje to miejsce. Następnie możesz podjąć świadomą decyzję o przeniesieniu niektórych danych do innego magazynu, dodaniu kolejnego dysku twardego do komputera lub usunięciu danych nadmiarowych. Te polecenia mają wiele opcji. Opisaliśmy tutaj najbardziej przydatne opcje, ale możesz zobaczyć pełną listę opcji dla df polecenie i dla du command

na stronach podręcznika Linux.