Android

Znajdź duże pliki w systemie Linux

Linux #1: Terminal - Operacje na plikach i katalogach

Linux #1: Terminal - Operacje na plikach i katalogach

Spisu treści:

Anonim

Z biegiem czasu dysk może być zapchany dużą ilością niepotrzebnych plików, które zajmują dużą ilość miejsca na dysku. Zwykle w systemach Linux brakuje miejsca na dysku z powodu dużych plików dziennika lub kopii zapasowych.

W tym samouczku wyjaśniono, jak znaleźć największe pliki i katalogi w systemach Linux za pomocą poleceń find i du .

Znajdź duże pliki za pomocą polecenia find

Polecenie find jest jednym z najpotężniejszych narzędzi w arsenale administratorów systemu Linux. Pozwala wyszukiwać pliki i katalogi na podstawie różnych kryteriów, w tym rozmiaru pliku.

Na przykład, jeśli chcesz wyszukać pliki o rozmiarze większym niż 100 MB, w bieżącym katalogu roboczym użyjesz następującego polecenia:

sudo find. -xdev -type f -size +100M Wymień ze ścieżką do katalogu, w którym chcesz wyszukać największe pliki.

Dane wyjściowe pokażą listę plików bez żadnych dodatkowych informacji.

/var/lib/libvirt/images/centos-7-desktop_default.img /var/lib/libvirt/images/bionic64_default.img /var/lib/libvirt/images/win10.qcow2 /var/lib/libvirt/images/debian-9_default.img /var/lib/libvirt/images/ubuntu-18-04-desktop_default.img /var/lib/libvirt/images/centos-7_default.img

Polecenia find można także używać w połączeniu z innymi narzędziami, takimi jak ls lub sort aby wykonywać operacje na tych plikach.

W poniższym przykładzie przekazujemy dane wyjściowe polecenia find do ls który wypisze rozmiar każdego znalezionego pliku, a następnie potokuje to wyjście do polecenia sort, aby posortować je na podstawie 5. kolumny, która jest rozmiarem pliku.

find. -xdev -type f -size +100M -print | xargs ls -lh | sort -k5, 5 -h -r

Dane wyjściowe będą wyglądać mniej więcej tak:

-rw------- 1 root root 40967M Jan 5 14:12 /var/lib/libvirt/images/win10.qcow2 -rw------- 1 root root 3725M Jan 7 22:12 /var/lib/libvirt/images/debian-9_default.img -rw------- 1 root root 1524M Dec 30 07:46 /var/lib/libvirt/images/centos-7-desktop_default.img -rw------- 1 root root 999M Jan 5 14:43 /var/lib/libvirt/images/ubuntu-18-04-desktop_default.img -rw------- 1 root root 562M Dec 31 07:38 /var/lib/libvirt/images/centos-7_default.img -rw------- 1 root root 378M Jan 7 22:26 /var/lib/libvirt/images/bionic64_default.img

Jeśli dane wyjściowe zawierają wiele wierszy informacji, możesz użyć polecenia head aby wydrukować tylko pierwsze 10 wierszy:

find. -xdev -type f -size +100M -print | xargs ls -lh | sort -k5, 5 -h -r | head

Złóżmy polecenie:

  • find. -xdev -type f -size +100M -print find. -xdev -type f -size +100M -print - wyszukuj tylko pliki ( -type f ) w bieżącym katalogu roboczym ( . ), większym niż 100 MB ( -size +100M ), nie schodź po katalogach w innych systemach plików ( -xdev ) i wypisz pełną nazwę pliku na standardowym wyjściu, a następnie nowy wiersz ( -print ). xargs ls -lh - dane wyjściowe polecenia find są przesyłane do xargs który wykonuje ls -lh , które wypisuje dane wyjściowe w długim formacie czytelnym dla człowieka. sort -k5, 5 -h -r - sortuj linie na podstawie piątej kolumny ( -k5, 5 ), porównaj wartości w formacie czytelnym dla człowieka ( -h ) i odwróć wynik ( -r ). head : drukuje tylko pierwsze 10 wierszy potokowego wyjścia.

Polecenie find zawiera wiele zaawansowanych opcji. Na przykład możesz wyszukiwać duże pliki starsze niż x dni, duże pliki z określonym rozszerzeniem lub duże pliki należące do określonego użytkownika.

Znajdź duże pliki i katalogi za pomocą polecenia du Command

Polecenie du służy do szacowania wykorzystania przestrzeni plików i jest szczególnie przydatne do znajdowania katalogów i plików, które zajmują dużą ilość miejsca na dysku.

Następujące polecenie wydrukuje największe pliki i katalogi:

du -ahx. | sort -rh | head -5

Pierwsza kolumna zawiera rozmiar pliku, a druga nazwa pliku:

55G. 24G./.vagrant.d/boxes 24G./.vagrant.d 13G./Projects 5.2G./.minikube

Objaśnienie polecenia:

  • du -ahx. : oszacuj wykorzystanie miejsca na dysku w bieżącym katalogu roboczym ( . ), policz zarówno pliki, jak i katalogi ( a ), drukuj rozmiary w formacie czytelnym dla człowieka ( h ) i pomiń katalogi w różnych systemach plików ( x ). sort -rh : sortuj linie przez porównanie wartości w formacie czytelnym dla człowieka ( -h ) i odwróć wynik ( -r ). head -5 : drukuje tylko pierwsze 5 wierszy potokowego wyjścia.

Polecenie du zawiera inne opcje, których można użyć, aby zawęzić wydajność wykorzystania miejsca na dysku.

Wniosek

Znajdowanie dużych plików jest bardzo przydatne, gdy dysk jest pełny i chcesz go zwolnić.

Po znalezieniu największych plików w systemie warto przeczytać nasz przewodnik na temat usuwania plików i katalogów za pomocą wiersza polecenia systemu Linux.

znajdź terminal dyskowy