Jak zrozumieć, co zajmuje miejsce na dysku?

86

Szukam alternatywnego linuxa dla WinDirStat . Chciałbym wiedzieć, co zajmuje miejsce na moich dyskach twardych.

Preferowany jest program, który działa na konsoli i nie wymaga interfejsu użytkownika.

ripper234
źródło
ncdujest moją preferowaną odpowiedzią, ale widzę, że pierwsza odpowiedź mówi, że masz z nią problemy, których nie ma w twoim pytaniu.
SDsolar

Odpowiedzi:

74

Na podstawie swoich problemów w instalacji ncdu moje zalecenie byłoby użyć dui sortna siebie.

Na przykład:

  • du /home | sort -rn (przeszuka wszystkie pliki / katalogi w katalogu / home i posortuje je według największych do najmniejszych.
  • du -h /home | sort -rh(to samo, ale pokaże to w MB / KB / etc) - Uwaga: wymaga to coreutils w wersji 7.5 lub nowszej ( sort --versiondo sprawdzenia)

Możesz zastąpić / home dowolnym wybranym katalogiem.

NJ
źródło
To świetnie, dziękuję za pomoc. Moje coreutils to 5.97 - czy to dlatego porządek sortowania du -h jest niewłaściwy?
ripper234
Tak, musisz zadowolić du /home | sort -rnsię Coreutils 5.97 lub użyć „magii” z Perlem itp., Jak pokazano na ServerFault ( serverfault.com/q/62411/60012 )
NJ
2
OTOH, jeśli istnieje duży podkatalog, jego wzdęcie będzie wyświetlać wiele razy (dla tego katalogu i każdego katalogu nadrzędnego) u góry wyników, a IMHO odwróci uwagę od prawdziwego wzdęcia. Użycie sugerowanego poniżej „ncdu” może w tym pomóc, spróbuję. =)
Lapo
2
Uważam, że opcja -size jest również „przydatna”, ponieważ pozwala znaleźć wszystkie pliki w określonym obszarze. Przynajmniej dla GNU find, możesz zrobić coś takiego: „find. -Size + 100M”, aby znaleźć pliki większe niż 100M poniżej bieżącego katalogu.
Gabe.
89

Jeśli chcesz mieć narzędzie wiersza polecenia, wolę ncdu , wersję ncurses du. Skanuje dysk (lub dany folder), a następnie pokazuje użycie miejsca na najwyższym poziomie; możesz wybrać dany katalog, aby uzyskać odpowiednie podsumowanie dla tego katalogu i wrócić bez konieczności ponownej analizy:

Zrzut ekranu z ncdu


Jeśli nie masz nic przeciwko programowi GUI, Filelight jest najbliższą rzeczą, jaką znalazłem w WinDirStat; pokazuje graficzny widok zużycia miejsca:

Zrzut ekranu z Filelight

Podobnie ncdu, Filelight pozwala wybrać dany katalog, aby uzyskać podział dla tego katalogu

Michał Mrożek
źródło
4
nie sądzisz, że QDirStat jest bliżej WinDirStat?
Janus Troelsen
39

Powinieneś być świadom, że WinDirStat jest w rzeczywistości portem KDirStat , który jest programem Linux / KDE. Tak więc, jeśli szukasz Linuksowej alternatywy dla WinDirStat, na pewno powinieneś rzucić okiem na KDirStat . Jest już zapakowany w większość dystrybucji, wystarczy go zainstalować.

Inną alternatywą jest FileLight, już cytowany przez Michaela Mrożka, oraz wtyczka Konqueror fsview(możesz uruchomić ją samodzielnie z wiersza poleceń).

Juliano
źródło
16
Wow, nigdy nie zdawałem sobie z tego sprawy (wydaje mi się, że „Win” w nazwie powinno być rozdawaniem). Współpracownik zapytał mnie kiedyś, czy istnieje wersja WinSCP dla Linuksa ; Trochę umarłem w środku
Michał Mrożek
3
@poprzedni komentarz. ouch. Po prostu ouch.
David Oneill,
2
Pamiętaj, że będzie się nazywał K4DirStat dla Ubuntu, jeśli instalujesz przez centrum oprogramowania
y3sh
lubsudo apt-get install k4dirstat
y3sh
34

Innym programem GUI jest: baobab

alternatywny tekst

sudobash
źródło
W rzeczywistości, jeśli jestem na Ubuntu, nie zawracam sobie głowy szukaniem alternatywy. baobapwystarczy.
phunehehe
Pokazuje także liczbę plików, które czasem trzeba sprawdzić, a także miejsce na dysku
golimar
9

Użyj QDirStat (wcześniej KDirStat).

Zawiera skrypt perla, który generuje plik pamięci podręcznej na serwerze / konsoli bez potrzeby uruchamiania / instalowania interfejsu użytkownika; przenieś go na komputer stacjonarny i wyświetl w kliencie GUI.

Szczegółowe informacje można znaleźć na stronie https://unix.stackexchange.com/a/256516/186308 .

icyerasor
źródło
jest absurdalnie szybki. bardzo fajne narzędzie
phil294
7

Wolę następujący wiersz poleceń:

$  du -s -m -x * | sort -n

Podział, dupokazuje użycie dysku; -smówi wydrukuj sumę dla każdego argumentu (każdego elementu w bieżącym katalogu), -mmówi pokaż rozmiar w megabajtach. Ułatwia to sortowanie do pracy; sort tak naprawdę nie rozumie -hwyniku. -xIgnoruje inne systemy plików; jest to przydatne, gdy próbujesz znaleźć kosmiczne świnie /var, i /var/spool/foojest to inny system plików.

P Joslin
źródło
Czy najwyższa odpowiedź nie jest już używana du?
muru
Tak, ale du / home na moich systemach zwraca dziesiątki tysięcy plików; Rzadko obchodzi mnie, co (powiedzmy) 100 największych z tych plików; Zazwyczaj chcę wiedzieć, które podkatalogi zajmują najwięcej miejsca.
P Joslin,
Zamiast -s podałem --max-depth = 2, ponieważ chciałem zejść o jeden katalog z katalogu głównego, ale twoja odpowiedź wskazała mi ten kierunek. Dzięki!
John Eisbrener,
6

Jest też ten fajny skrypt Pythona z /www.vrplumber.com/programming/runsnakerun/

bzr branch lp:~mcfletch/squaremap/trunk squaremap

Nie jest najbardziej bogaty w funkcje, ale jest uruchamiany z jednego skryptu Pythona, więc jest niezwykle przenośny.

alternatywny tekst

Falmarri
źródło
6

Jeśli spojrzałeś na ekran about na windirstat, pokazał ci, że jest oparty na kdirstat.

http://kdirstat.sourceforge.net/

DF1eCH
źródło
Podoba mi się odpowiedź - ale czy możesz dodać kontekst lub szczegóły?
Volker Siegel
4

Możesz także wypróbować GD Map , kolejne narzędzie GUI oparte na szablonach.

Bruno
źródło
3

xdiskusage jest bardzo elastyczny, lekki z bardzo szczupłymi zależnościami, łatwy do skompilowania ..

Pokazuje drzewo od lewej do prawej, po którym można poruszać się za pomocą myszy lub klawiszy strzałek, powiększać (klikać lub wchodzić), ukrywać niektóre części dla lepszego widoku, zmieniać kolejność sortowania, liczbę kolorów itp. Za pomocą klawiszy lub menu kontekstowego.

Jest tak lekki, że można go używać na zdalnym łączu SSH z dobrą wydajnością. W takim przypadku polecam -qopcję wiersza poleceń, aby wyłączyć pasek postępu, który pojawia się podczas przejścia plików.

Możesz również opcjonalnie uruchomić dusię wcześniej.

Jedną z sytuacji jest zdalny system plików, który jest pełny lub prawie pełny. W tym systemie uruchom du -ak | gzip >log_of_disk_usage.txt.gzdane wyjściowe i uruchom gzip -dc log_of_disk_usage.txt.gz | xdiskusage -aqlokalnie.
Lub nawet ssh myremotesystem "cd /filesystem_near_full/ ; du -ak | gzip" > log_of_disk_usage.txt.gzprzechowywać wynik lokalnie, bez pisania czegokolwiek zdalnie.

xdiskusage nie oferuje modyfikacji systemu plików (np. przenieś do kosza itp.), ale możesz skopiować ścieżkę do schowka i wkleić ją do menedżera plików, terminala itp.

zrzut ekranu xdiskusage

Stéphane Gourichon
źródło
2

Ostatnio korzystałem z narzędzia wiersza polecenia (CLI, a nie TUI): http://zevv.nl/play/code/philesight/

Tworzy plik PNG, który można wyświetlić w innym miejscu. Ma również skrypt CGI.

Najprawdopodobniej nie jesteś ograniczony do trybu tekstowego na lokalnej stacji roboczej, więc powinno być odpowiednie.

PAŹDZIERNIK
źródło
1

Aby zobaczyć pliki w określonym katalogu posortowane według rozmiaru po znalezieniu katalogu za pomocą du use:

ls -lrSh
Wodin
źródło
1

Duc ( https://duc.zevv.nl/ ) będzie działał z wiersza poleceń.

Można go zainstalować i używać w ten sposób w Debian 9:

# apt install duc
# duc index /
# duc graph /

Dzięki temu otrzymasz plik o nazwie duc.pngw bieżącym katalogu. Teraz możesz skopiować ten plik na inny komputer z obsługą GUI i będzie on wyglądał następująco: duc.png

UWAGA: Duc zastępuje narzędzie, o którym @OCTAGRAM wspomniał w swojej odpowiedzi.

Jaime Hablutzel
źródło