Wydrukować rozmiar zawartości katalogu za pomocą polecenia drzewa w drzewie 1.5?

39

Podoba mi się treeto dobry sposób na wyświetlanie moich plików i wielkości folderów / katalogów. Ale opcja -h pokazuje tylko rozmiar katalogu, a nie skumulowany rozmiar jego zawartości.

/media/
├── [ 16K]  64D9-E862
│   ├── [8.0K]  downloads

Wiem na pewno, że mój dysk zewnętrzny ma ponad 16kB.

Jak mogę to naprawić za pomocą drzewa 1.5? Jeszcze lepiej, jak zaktualizować do wersji 1.6?

Pureferret
źródło

Odpowiedzi:

45

Tylko dla drzewa 1.6 i nowszych

Możesz spojrzeć na:

man tree

--du Dla każdego katalogu zgłoś jego rozmiar jako sumę rozmiarów wszystkich jego plików i podkatalogów (i ich plików itd.). Całkowita ilość wykorzystanego miejsca jest również podana w raporcie końcowym (podobnie jak polecenie „du -c”). Ta opcja wymaga, aby drzewo odczytało całe drzewo katalogów przed jego wysłaniem, zobacz BŁĘDY I UWAGI poniżej. Implikuje -s.

Więc powinieneś użyć:

tree --du -h
0x7c0
źródło
5
Wskazuje na --du w wersji 1.6. Zawsze używam du -h --max-depth = 1 lub 2 lub maksymalnie 3. Następnie przejdź do (cd) tam, gdzie chcę iść, i uruchom ponownie to samo polecenie. Kiedy drzewo jest używane z -L, zlicza tylko katalogi / i pliki do określonego poziomu. W połączeniu z du, który oblicza wszystkie pliki niezależnie od parametru --max-depth, ale drukuje tylko do określonego poziomu. To sprawia, że ​​drzewo nie jest dla mnie pomocne. W każdym razie dzięki!
Tagar
Sugeruję dodanie -aopcji do wyjściowych lokalizacji, które są ukryte (zacznij od kropki, np. Pamięci podręcznej)
awatts
3

Dodając zaakceptowaną odpowiedź ... z dowolną znaczną liczbą folderów, potencjalnie uzyskasz ogromny wynik z tego polecenia.

Jeśli tak jak ja, chcesz zidentyfikować kilka dużych folderów do wyczyszczenia, ponieważ zapełniasz dysk, pomocne może być połączenie polecenia drzewa z grepem, aby ograniczyć go do folderów o wielkości gigabajtów, oszczędzając sobie potrzeby aby przejść przez cały wynik:

tree --du -h | grep G]

Jimmo
źródło
-4

Użyj tego kodu, który może ci pomóc,

$ sudo tree -hF

lub

# tree -hF
król
źródło
1
Nie robi to, o co OP poprosił 4 lata temu ...
dr01