Duży plik w Linuxie można znaleźć bez instalowania analizatora dysku. Do podstawowej pracy wystarczą find, du, sort i head. Najpierw wybierz katalog, który chcesz przejrzeć. Szukanie w całym systemie od razu jest wolniejsze, zwraca więcej komunikatów i może objąć podłączone dyski lub zasoby sieciowe.
Poniższe przykłady używają narzędzi GNU, typowych dla wielu dystrybucji Linuxa. W systemach z BusyBox lub innymi implementacjami część opcji, zwłaszcza -printf, może być niedostępna. Wszystkie pokazane polecenia tylko odczytują informacje. Wynik wyszukiwania nie jest listą plików przeznaczonych do automatycznego usunięcia.
Znajdź pliki większe niż wybrany próg
Jeżeli podejrzewasz pobrane obrazy ISO, nagrania lub archiwa, zacznij od swojego katalogu domowego:
find "$HOME" -xdev -type f -size +500M -print
-type f wybiera zwykłe pliki, a -size +500M oznacza pliki większe niż 500 MiB według rozmiaru logicznego. Litera M w tym poleceniu oznacza jednostkę 1024 × 1024 bajtów, nie dziesiętne megabajty. -xdev ogranicza przechodzenie do jednego systemu plików, więc nie wejdziesz automatycznie w inny zamontowany nośnik wewnątrz przeszukiwanego drzewa.
Możesz zawęzić zakres jeszcze bardziej:
find "$HOME/Pobrane" -type f -size +500M -print
Wstaw rzeczywistą nazwę folderu, jeśli system używa innej. Cudzysłowy chronią ścieżkę zawierającą spacje. Samo find domyślnie nie podąża przez napotkane dowiązania symboliczne do całych dodatkowych drzew katalogów. Nie dodawaj opcji zmieniających to zachowanie bez potrzeby.
Wyświetl największe pliki wraz z rozmiarem
Gdy nie znasz dobrego progu, uporządkuj pliki od największego:
find "$HOME" -xdev -type f -printf '%s\t%p\n' | sort -nr | head -n 20
Pierwsza kolumna zawiera rozmiar w bajtach, druga ścieżkę. sort -nr sortuje liczbowo w kolejności malejącej, a head ogranicza listę do dwudziestu pozycji. Spacje w nazwach nie zmieniają pierwszej liczbowej kolumny, lecz nazwa zawierająca znak nowej linii może zaburzyć taki tekstowy raport.
Dla nietypowych nazw GNU obsługuje rekordy zakończone bajtem zerowym:
find "$HOME" -xdev -type f -printf '%s\t%p\0' | sort -z -nr | head -z -n 20 | tr '\0' '\n'
Tutaj sortowanie i ograniczanie liczby wyników nie rozbijają nazwy po znaku nowej linii. Ostatni krok służy jedynie wyświetleniu: ścieżka z takim znakiem nadal wygląda w terminalu wielowierszowo. Nie używaj wyświetlonej listy jako wejścia do kasowania plików. Przy zwyczajnych nazwach pierwszy wariant będzie łatwiejszy do odczytania.
Duży rozmiar logiczny nie zawsze oznacza duże zajęcie dysku
find w tych przykładach ocenia rozmiar logiczny pliku. Plik rzadki, na przykład obraz maszyny wirtualnej, może deklarować znacznie więcej bajtów, niż faktycznie zajmuje w przydzielonych blokach. Gdy celem jest odzyskanie miejsca, porównaj wybraną pozycję przez du:
du -h -- "/pełna/ścieżka/do/pliku"
du -h --apparent-size -- "/pełna/ścieżka/do/pliku"
Pierwsze polecenie pokazuje oszacowanie miejsca przydzielonego plikowi, drugie rozmiar pozorny. Wstaw własną ścieżkę, zachowując cudzysłowy. Różnica nie jest automatycznie błędem ani oznaką uszkodzenia. Kompresja, współdzielone bloki i własności systemu plików mogą dodatkowo komplikować prostą ocenę oszczędności po usunięciu.
Jeśli chcesz znaleźć największe pozycje według zajętych bloków, przydatne jest:
du -ahx "$HOME" | sort -rh | head -n 20
Ten raport zawiera zarówno pliki, jak i katalogi. Katalog obejmuje rozmiary danych w środku, więc nie sumuj ponownie wszystkich dwudziestu pozycji. To mapa największych obszarów, a nie dwadzieścia niezależnych porcji miejsca do odzyskania. Gdy dominuje jeden folder, uruchom następny pomiar właśnie w nim.
Co zrobić z błędami dostępu i pominiętymi katalogami
find oraz sortowanie mogą długo pracować na dużym drzewie. Ograniczenie wyniku do dwudziestu pozycji nie oznacza przeglądania tylko dwudziestu plików: narzędzia muszą najpierw zebrać i uporządkować dane. Na bardzo dużych zbiorach sortowanie może też korzystać z miejsca na pliki tymczasowe. Dlatego przy niemal pełnym dysku zacznij od węższego katalogu i wyszukiwania z progiem rozmiaru, zamiast od rozbudowanego rankingu całego systemu.
Komunikat „Permission denied” oznacza, że część drzewa nie została odczytana. Nie usuwa danych i nie wymaga uruchamiania całego zestawu poleceń z uprawnieniami administratora bez zastanowienia. Dla własnych dokumentów zwykle wystarczy konto użytkownika. Przy analizie katalogu systemowego sprawdź, czy potrzebujesz szerszego dostępu i jaki obszar faktycznie chcesz zmierzyć.
Opcja -xdev także może wyjaśniać brak oczekiwanego pliku: jeżeli podkatalog jest osobnym zamontowanym systemem plików, zostanie pominięty. Uruchom osobne wyszukiwanie od jego punktu montowania. Nie usuwaj ograniczenia tylko po to, aby przypadkowo objąć backup lub wolny udział sieciowy.
Zanim skasujesz największy wynik
Ustal, do czego służy plik. Stary instalator i własny eksport filmu to inna sytuacja niż aktywna baza danych, dziennik usługi czy wolumen kontenera. Dane aplikacji porządkuj jej narzędziami i zgodnie z dokumentacją. Ręczne usunięcie dużego pliku bazy może zwolnić miejsce kosztem utraty całej zawartości.
Jeżeli lista największych plików nie wyjaśnia pełnego dysku, przyczyną mogą być miliony małych plików, otwarty usunięty plik albo migawki. Tę część diagnozy opisuje poradnik zajętego miejsca w Linuxie. Dla kontenerów przyda się osobne sprawdzenie danych Dockera. Największa pozycja jest punktem do sprawdzenia, nie zgodą na jej usunięcie.








