Jak sprawdzić miejsce na dysku w Linuksie z wiersza poleceń

author
5 minutes, 11 seconds Read

Szybkie pytanie: Ile miejsca zostało Ci na dyskach? Trochę czy dużo? Pytanie uzupełniające: Czy wiesz jak się tego dowiedzieć? Jeśli korzystacie z pulpitu GUI (np. GNOME, KDE, Mate, Pantheon, itp.), zadanie jest prawdopodobnie dość proste. Ale co jeśli patrzysz na serwer bezgłowy, bez GUI? Czy trzeba instalować narzędzia do tego zadania? Odpowiedź brzmi: nie. Wszystkie niezbędne bity są już na miejscu, aby pomóc Ci dowiedzieć się dokładnie, ile miejsca pozostaje na dyskach. W rzeczywistości, masz dwie bardzo łatwe w użyciu opcje w gotowości.

W tym artykule zademonstruję te narzędzia. Będę używał Elementary OS, który zawiera również opcję GUI, ale my ograniczymy się do wiersza poleceń. Dobrą wiadomością jest to, że te narzędzia wiersza poleceń są łatwo dostępne dla każdej dystrybucji Linuksa. W moim systemie testowym znajduje się wiele podłączonych dysków (zarówno wewnętrznych jak i zewnętrznych). Użyte polecenia są niezależne od tego, gdzie dysk jest podłączony; zależy im tylko na tym, aby dysk był zamontowany i widoczny dla systemu operacyjnego.

Pamiętając o tym, przyjrzyjmy się narzędziom.

df

Komenda df jest narzędziem, którego po raz pierwszy użyłem do odkrycia przestrzeni dyskowej w systemie Linux, jeszcze w latach 90. Jest bardzo proste zarówno w użyciu jak i raportowaniu. Do dnia dzisiejszego, df jest moim ulubionym poleceniem do tego zadania. Polecenie to ma kilka przełączników, ale do podstawowego raportowania naprawdę potrzebujesz tylko jednego. Tym poleceniem jest df -H. Przełącznik -H jest dla formatu czytelnego dla człowieka. Wynik działania polecenia df -H zawiera informacje o ilości używanego miejsca, dostępności, procentowym wykorzystaniu oraz punkcie zamontowania każdego dysku podłączonego do systemu (rysunek 1).

Rysunek 1: Wynik działania polecenia df -H w systemie Elementary OS.

A co, jeśli lista dysków jest bardzo długa i chcesz wyświetlić informacje o ilości miejsca na pojedynczym dysku? Dzięki df jest to możliwe. Przyjrzyjmy się, ile miejsca zostało zużyte na naszym podstawowym dysku, znajdującym się pod adresem /dev/sda1. W tym celu wydaj polecenie:

df -H /dev/sda1

Wyjście zostanie ograniczone do tego jednego dysku (Rysunek 2).

Rysunek 2: Ile miejsca jest na jednym konkretnym dysku?

Możesz również ograniczyć raportowane pola wyświetlane w wyjściu df. Dostępne pola to:

  • source – źródło systemu plików

  • size – całkowita liczba bloków

  • used – odstęp używany na dysku

  • avail – przestrzeń dostępna na dysku

  • pcent – procent używanej przestrzeni, podzielone przez całkowity rozmiar

  • target – punkt montowania dysku

Wyświetlmy dane wyjściowe wszystkich naszych dysków, pokazując tylko pola size, used i avail (lub availability). Polecenie do tego celu byłoby następujące:

df -H --output=size,used,avail

Wyjście tego polecenia jest dość łatwe do odczytania (rysunek 3).

Rysunek 3: Określenie danych wyjściowych do wyświetlenia dla naszych dysków.

Jedynym zastrzeżeniem jest to, że nie znamy źródła danych wyjściowych, więc chcielibyśmy dołączyć źródło w następujący sposób:

df -H --output=source,size,used,avail

Teraz dane wyjściowe mają większy sens (Rysunek 4).

Rysunek 4: Teraz znamy źródło naszego zużycia dysku.

du

Następnym poleceniem jest du. Jak można się spodziewać, jest to skrót od disk usage. Polecenie du różni się od polecenia df tym, że raportuje użycie katalogów, a nie dysków. Z tego powodu, będziesz chciał znać nazwy katalogów, które mają być sprawdzone. Załóżmy, że mam katalog zawierający pliki maszyny wirtualnej na moim komputerze. Katalog ten to /media/jack/HALEY/VIRTUALBOX. Gdybym chciał się dowiedzieć, ile miejsca zajmuje ten konkretny katalog, wydałbym polecenie:

du -h /media/jack/HALEY/VIRTUALBOX

Wyjście powyższego polecenia wyświetli rozmiar każdego pliku w tym katalogu (rysunek 5).

Rysunek 5: Wynik działania polecenia du na określonym katalogu.

Jak dotąd, to polecenie nie jest zbyt pomocne. Co zrobić, jeśli chcemy poznać całkowite wykorzystanie konkretnego katalogu? Na szczęście du poradzi sobie z tym zadaniem. Dla tego samego katalogu polecenie byłoby następujące:

du -sh /media/jack/HALEY/VIRTUALBOX/

Teraz wiemy, ile miejsca zajmują pliki w tym katalogu (Rysunek 6).

Rysunek 6: Pliki mojej maszyny wirtualnej zajmują 559 GB miejsca.

Możesz również użyć tego polecenia, aby sprawdzić, ile miejsca zajmują wszystkie podkatalogi rodzica, na przykład:

du -h /media/jack/HALEY

Wyjście tego polecenia (rysunek 7) to dobry sposób, aby dowiedzieć się, które podkatalogi zajmują miejsce na dysku.

Rysunek 7: Ile miejsca zajmują moje podkatalogi?

Polecenie du jest również doskonałym narzędziem do wykorzystania w celu wyświetlenia listy katalogów, które zajmują najwięcej miejsca na dysku w systemie. Można to zrobić, przesyłając wyjście polecenia du do dwóch innych poleceń: sort i head. Polecenie pozwalające znaleźć 10 największych katalogów zajmujących miejsce na dysku wyglądałoby mniej więcej tak:

du -a /media/jack | sort -n -r | head -n 10

Na wyjściu znalazłaby się lista tych katalogów, od największego do najmniejszego (Rysunek 8).

Rysunek 8: Dziesięć najlepszych katalogów zajmujących miejsce na dysku.

Nie tak trudne, jak myślisz

Odkrycie ilości miejsca na dyskach podłączonych do systemu Linux jest dość proste. Tak długo jak twoje dyski są zamontowane w systemie Linux, zarówno df jak i du wykonają świetną robotę raportując potrzebne informacje. Z df możesz szybko zobaczyć przegląd jak dużo miejsca jest wykorzystywane na dysku, a z du możesz odkryć jak dużo miejsca jest wykorzystywane przez konkretne katalogi. Te dwa narzędzia w połączeniu powinny być uważane za must-know dla każdego administratora Linuksa.

I na wypadek gdybyś to przegapił, ostatnio pokazałem jak określić wykorzystanie pamięci w Linuksie. Razem, te wskazówki przejdą długą drogę, aby pomóc ci skutecznie zarządzać twoimi serwerami Linux.

Dowiedz się więcej o Linuksie poprzez darmowy kurs „Wprowadzenie do Linuksa” z The Linux Foundation i edX.

Similar Posts

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.