Programowanie w systemie UNIX/du

Z Wikibooks, biblioteki wolnych podręczników.

Jak znaleźć największe podkatalogi?[edytuj]

W konsoli jako root wpisujemy:[1]

du -a /home | sort -n -r | head -n 5

W Ubuntu:

sudo du -a /home | sort -n -r | head -n 5

Otrzymujemy listę 5 największych podkatalogów w katalogu domowym (home)

Wytłumaczenie komendy i parametrów:

  • (komenda) sudo: nadaje uprawnienia roota
  • (komenda) du: określa użycie przestrzeni dysku
  • (parametr) a: wszystkie pliki i katalogi
  • /home: katalog domowy zalogowanego użytkownika
  • |: symbol łączenia procesów w potok
  • (komenda) sort: sortuje linie pliku tekstowego
  • (parametr) n: traktuj liczby jako wartości numeryczne, nie ciągi znaków.
  • (parametr) r: odwraca rezultat sortowania
  • (komenda) head: wyświetla pierwszą część pliku
  • (parametr) n: wyświetla pierwsze ‘n’ linii, w powyższym przykładzie n=5 więc wyświetla 5 pierwszych linii)

W katalogu aktualnym i w formie czytelnej dla człowieka (h):

du -hs * | sort -rh | head -5

z podkatalogami:

# du -Sh | sort -rh | head -5

Jak znaleźć największe pliki?[edytuj]

W katalogu domowym i podkatalogach:

find -type f -exec du -Sh {} + | sort -rh | head -n 5

W konkretnym katalogu:

find /home/tecmint/Downloads/ -type f -exec du -Sh {} + | sort -rh | head -n 5
find /home/tecmint/Downloads/ -type f -printf "%s %p\n" | sort -rn | head -n 5

Źródła[edytuj]

  1. How to Find Out Top Directories and Files (Disk Space) in Linux by Senthil Kumar | Published: January 16, 2016 | Last Updated: April 30, 2016