Polecenie du
pobiera użycie dysku wszystkich plików w katalogu i wszystkich podkatalogów (rekurencyjnie) domyślnie. Czas poświęcony przez du
odnosi się do liczby analizowanych plików. Opcje -s
lubwpływają tylko na wynik polecenia (a nie na samo skanowanie).
Niektóre opcje ograniczające skanowanie pliku to: --one-file-system, --exclude i --exclude-from.
Jeśli nie chcesz powtarzać się w podkatalogach, możesz użyć polecenia znajdź zamiast tego, co daje większą kontrolę nad tym, które pliki przeanalizować. Nie można jednak podsumować użycia dysku rekursywnie.
find /path/to/dir -maxdepth 1 -printf "%k\t%p\n"
Zauważ, że %k
zawsze powrócić użycie dysku w 1k bloków oraz prezentowane użycie dysku z nielicznych plików może być mniej lub nieco większy rozmiar pliku, a następnie zwrócony przez %s
dowodzenia w ls
. Tak więc "% k" zachowuje się jak polecenie du
dla pojedynczych plików.
Jeśli chcesz połączyć funkcje find
i du
, możesz połączyć je w podobny sposób.
find . -maxdepth 1 -name "xyz*" -print0 | du --files0-from=-