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.


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.


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


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ń).


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


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


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.


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




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


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.


1

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

ls -lrSh

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.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.