Śledzenie, gdzie jest miejsce na dysku w systemie Linux?

532

Podczas administrowania systemami Linux często mam problemy ze znalezieniem winowajcy po zapełnieniu partycji. Zwykle używam, du / | sort -nrale na dużym systemie plików zajmuje to dużo czasu, zanim jakiekolwiek wyniki zostaną zwrócone.

Ponadto zwykle udaje się to w uwypukleniu najgorszego przestępcy, ale często zdarzało mi się uciekać dubez sort bardziej subtelnych przypadków, a następnie musiałem przeszukiwać dane wyjściowe.

Wolałbym rozwiązanie wiersza poleceń, które opiera się na standardowych poleceniach Linuksa, ponieważ muszę administrować kilkoma systemami, a instalowanie nowego oprogramowania jest kłopotliwe (szczególnie gdy brakuje miejsca na dysku!)

Stephen Kitt
źródło
1
@Bart dzięki za poświęcenie czasu na ulepszenie postów tutaj, ale czy mogę prosić o więcej uwagi przy dodawaniu tagów? Tagi nie są widoczne, opisują pytanie. Tag dysku jest tutaj nieodpowiedni (zobacz jego opis), a co najmniej dwa z tagów dodanych w tej sugerowanej edycji nie były tam odpowiednie (Kali nie jest Debianem i nie są zaangażowane PPA).
Stephen Kitt

Odpowiedzi:

614

Wypróbuj ncdudoskonały analizator użycia dysku z wiersza poleceń:

wprowadź opis zdjęcia tutaj

KERR
źródło
6
Zazwyczaj nienawidzę proszenia o zainstalowanie czegoś, aby rozwiązać prosty problem, ale jest to po prostu świetne.
gwg
14
sudo apt install ncduna Ubuntu dostaje to łatwo. To wspaniale
Orion Edwards
10
Prawdopodobnie wiesz, który system plików ma mało miejsca. W takim przypadku można użyć ncdu -xdo zliczenia tylko plików i katalogów w tym samym systemie plików, co skanowany katalog.
Luke Cousins
7
najlepsza odpowiedź. także: sudo ncdu -rx /powinien dać czysty odczyt na największych katalogach / plikach TYLKO na dysku głównym. ( -r= tylko do odczytu, -x = pozostań w tym samym systemie plików (co oznacza: nie przechodź przez inne
podłączenia
5
Mam tak mało miejsca, że ​​nie mogę zainstalować ncdu
Chris
338

Nie idź prosto do du /. Użyj, dfaby znaleźć partycję, która cię rani, a następnie wypróbuj dupolecenia.

Chciałbym spróbować

# U.S.
du -h <dir> | grep '[0-9\.]\+G'
# Others
du -h <dir> | grep '[0-9\,]\+G'

ponieważ drukuje rozmiary w „czytelnej dla człowieka formie”. Jeśli nie masz naprawdę małych partycji, wyszukiwanie katalogów w gigabajtach jest całkiem dobrym filtrem dla tego, czego chcesz. To zajmie ci trochę czasu, ale chyba, że ​​masz ustawione limity, myślę, że tak właśnie będzie.

Jak @jchavannes wskazuje w komentarzach, wyrażenie może być bardziej precyzyjne, jeśli znajdziesz zbyt wiele fałszywych trafień. Włączyłem sugestię, która sprawia, że ​​jest lepsza, ale wciąż istnieją fałszywie pozytywne wyniki, więc są tylko kompromisy (prostszy wyraŜenie, gorsze wyniki; bardziej skomplikowane i dłuŜsze wyraŜenie, lepsze wyniki). Jeśli masz zbyt wiele małych katalogów wyświetlanych w danych wyjściowych, odpowiednio dostosuj wyrażenie regularne. Na przykład,

grep '^\s*[0-9\.]\+G'

jest jeszcze bardziej dokładny (nie zostaną wyświetlone żadne katalogi <1 GB).

Jeśli zrobić mieć kwot, można użyć

quota -v

aby znaleźć użytkowników blokujących dysk.

Ben Collins
źródło
2
Jest to bardzo szybkie, proste i praktyczne
zzapper
24
grep '[0-9]G'zawierało wiele fałszywych wyników pozytywnych, a także pomijało ułamki dziesiętne. To działało dla mnie lepiej:sudo du -h / | grep -P '^[0-9\.]+G'
jchavannes
1
Jeśli masz naprawdę duże katalogi, [GT]zamiast tego będziesz chciałG
Vitruvius
1
Czy istnieje narzędzie, które będzie stale monitorować wykorzystanie dysku we wszystkich katalogach (leniwie) w systemie plików? Coś, co można przesyłać strumieniowo do internetowego interfejsu użytkownika? Najlepiej informacje w czasie rzeczywistym.
CMCDragonkai
20
Lubię używaćdu -h | sort -hr | head
sierpnia
104

Aby uzyskać pierwsze spojrzenie, skorzystaj z widoku „podsumowanie” du:

du -s /*

Efektem jest wydrukowanie wielkości każdego z argumentów, tj. Każdego folderu głównego w powyższej sprawie.

Co więcej, zarówno GNUdu , jak i BSDdu mogą być ograniczone głębokością ( ale POSIX dunie może! ):

  • GNU (Linux,…):

    du --max-depth 3
  • BSD (macOS,…):

    du -d 3
    

Spowoduje to ograniczenie wyświetlania danych wyjściowych do głębokości 3. Obliczony i wyświetlany rozmiar jest oczywiście sumą pełnej głębokości. Mimo to ograniczenie głębokości wyświetlania drastycznie przyspiesza obliczenia.

Inną przydatną opcją jest -h(słowa na GNU i BSD, ale znów nie tylko na POSIX du) dla wyjścia „czytelnego dla człowieka” (tj. Przy użyciu KiB, MiB itp .).

Konrad Rudolph
źródło
23
jeśli dunarzeka na -dpróbę --max-depth 5zamiast.
ReactiveRaven
8
Świetna odpowiedź. Wydaje mi się poprawne. Sugeruję du -hcd 1 /directory. -h dla czytelnego dla człowieka, c dla całości i d dla głębokości.
Używamdu -hd 1 <folder to inspect> | sort -hr | head
jonathanccalixto,
du --max-depth 5 -h /* 2>&1 | grep '[0-9\.]\+G' | sort -hr | headdo filtrowania Odmowa
dostępu
49

Możesz także uruchomić następującą komendę, używając du:

~# du -Pshx /* 2>/dev/null
  • -sOpcja podsumowuje i Wyświetla całkowity dla każdego argumentu.
  • h drukuje Mio, Gio itp.
  • x = pozostań w jednym systemie plików (bardzo przydatne).
  • P = nie podążaj za dowiązaniami symbolicznymi (które mogą na przykład powodować dwukrotne liczenie plików).

Uważaj, /rootkatalog nie zostanie wyświetlony, musisz go uruchomić ~# du -Pshx /root 2>/dev/null(kiedyś bardzo się zmagałem, nie wskazując, że mój /rootkatalog się zapełnił).

Edycja: poprawiona opcja -P

Creasixtine
źródło
2
du -Pshx .* * 2>/dev/null+ katalogi ukryte / systemowe
Mychajło Adamowycz
27

Znalezienie największych plików w systemie plików zawsze zajmuje dużo czasu. Z definicji musisz przemierzać cały system plików w poszukiwaniu dużych plików. Jedynym rozwiązaniem jest prawdopodobnie uruchomienie zadania cron na wszystkich systemach w celu przygotowania pliku z wyprzedzeniem.

Po drugie, opcja x du jest przydatna, aby powstrzymać du przed podążaniem za punktami montowania w innych systemach plików. To znaczy:

du -x [path]

Pełne polecenie, które zwykle uruchamiam, to:

sudo du -xm / | sort -rn > usage.txt

Te -mśrodki zwracają wyniki w megabajtach, a sort -rnbędzie sortować wyniki największą liczbę pierwszą. Następnie możesz otworzyć plik use.txt w edytorze, a największe foldery (zaczynające się od /) będą na górze.

rjmunro
źródło
3
Dzięki za wskazanie -xflagi!
SamB
1
„znalezienie największego zajmuje dużo czasu ..” -> Cóż, zależy, ale raczej się nie zgadza: nie trwa to tak długo z narzędziami takimi jak ncdu- przynajmniej szybciej niż dulub find(w zależności od głębokości i argumentów) ..
bshea
ponieważ wolę nie być rootem, musiałem dostosować miejsce zapisu pliku:sudo du -xm / | sort -rn > ~/usage.txt
Bruno
20

Zawsze używam du -sm * | sort -n, co daje posortowaną listę, ile zużywają podkatalogi bieżącego katalogu roboczego, w mebibajtach.

Możesz także wypróbować Konquerora, który ma tryb „widoku rozmiaru”, który jest podobny do tego, co robi WinDirStat w systemie Windows: daje ci pełną reprezentację tego, które pliki / katalogi zajmują większość twojego miejsca.

Aktualizacja: w nowszych wersjach możesz także użyć opcji, du -sh * | sort -hktóre pokażą czytelne dla ludzi rozmiary plików i posortuj według tych. (liczby będą oznaczone literami K, M, G, ...)

Dla osób szukających alternatywy dla rozmiaru pliku Konqueror w KDE3 może przyjrzeć się filelight, choć nie jest to tak przyjemne.

wvdschel
źródło
To tylko Konqueror 3.x - widok rozmiaru pliku wciąż nie został przeniesiony do KDE4.
„du -sh * | sort -h 'działa idealnie na moim Linuxie (Centos distro). Dzięki!
pahariayogi
18

Używam tego dla 25 najgorszych przestępców poniżej bieżącego katalogu

# -S to not include subdir size, sorted and limited to top 25
du -S . | sort -nr | head -25
serg10
źródło
To polecenie pomogło znaleźć ukryty folder, który z czasem wydawał się powiększać. Dzięki!
thegreendroid
Czy to jest w bajtach?
Użytkownik
Domyślnie w moim systemie „du -S” daje ładny, czytelny dla człowieka wynik. Otrzymasz zwykłą liczbę bajtów dla małych plików, a następnie liczbę z sufiksem „KB” lub „MB” dla większych plików.
serg10
Możesz zrobić du -Sh, aby uzyskać czytelny dla człowieka wynik.
Siddhartha
@ Siddhartha Jeśli dodasz -h, prawdopodobnie zmieni efekt sort -nrpolecenia - co oznacza, że ​​sortowanie przestanie działać, a następnie headpolecenie przestanie działać
Clare Macrae
14

W poprzedniej firmie mieliśmy zadanie cron, które było uruchamiane przez noc i identyfikowaliśmy pliki o określonym rozmiarze, np

znajdź / rozmiar + 10000k

Możesz być bardziej wybiórczy w odniesieniu do przeszukiwanych katalogów i uważać na wszelkie zdalnie montowane dyski, które mogą przejść w tryb offline.

Andrew Whitehouse
źródło
Możesz użyć -x opcji find, aby upewnić się, że nie znajdziesz plików na innych urządzeniach niż punkt początkowy polecenia find. Rozwiązuje to problem ze zdalnie montowanymi dyskami.
rjmunro
10

Jedną z opcji byłoby uruchomienie polecenia du / sort jako zadania cron i przesłanie go do pliku, więc jest już dostępny, gdy jest potrzebny.


źródło
9

W wierszu poleceń myślę, że metoda du / sort jest najlepsza. Jeśli nie jesteś na serwerze, powinieneś spojrzeć na Baobab - Analizator użycia dysku . Uruchomienie tego programu również zajmuje trochę czasu, ale możesz łatwo znaleźć podkatalog głęboko, głęboko tam, gdzie są wszystkie stare ISO systemu Linux.

Peter Stuifzand
źródło
2
Może także skanować foldery zdalne za pośrednictwem SSH, FTP, SMB i WebDAV.
To jest świetne. Niektóre rzeczy po prostu lepiej działają z GUI, aby je wizualizować, i to jest jedna z nich! Potrzebuję X-server na moim serwerze i tak dla CrashPlan, więc to też działa.
timelmer
9

używam

du -ch --max-depth=2 .

i zmieniam maksymalną głębokość zgodnie z moimi potrzebami. Opcja „c” drukuje sumy dla folderów, a opcja „h” odpowiednio drukuje rozmiary w K, M lub G. Jak powiedzieli inni, nadal skanuje wszystkie katalogi, ale ogranicza dane wyjściowe w sposób, który łatwiej znaleźć duże katalogi.


źródło
9

Idę na sekundę xdiskusage. Ale dodam w notatce, że w rzeczywistości jest to du frontend i mogę odczytać wynik du z pliku. Możesz więc uruchomić du -ax /home > ~/home-duna swoim serwerze scpplik z powrotem, a następnie przeanalizować go graficznie. Lub przeprowadź go przez ssh.

derobert
źródło
6

Spróbuj wprowadzić wynik du do prostego skryptu awk, który sprawdza, czy rozmiar katalogu jest większy niż jakiś próg, jeśli tak, to go drukuje. Nie musisz czekać na przejście całego drzewa, zanim zaczniesz uzyskiwać informacje (w porównaniu z wieloma innymi odpowiedziami).

Na przykład poniżej przedstawiono katalogi, które zużywają więcej niż około 500 MB.

du -kx / | awk '{ if ($1 > 500000) { print $0} }'

Aby uczynić powyższe nieco bardziej wielokrotnego użytku, możesz zdefiniować funkcję w swoim .bashrc (lub możesz zrobić z niego samodzielny skrypt).

dubig() {
    [ -z "$1" ] && echo "usage: dubig sizethreshMB [dir]" && return
    du -kx $2 | awk '{ if ($1 > '$1'*1024) { print $0} }'
}

Więc dubig 200 ~/szuka w katalogu domowym (bez podążania za symbolami poza urządzeniem) katalogów, które używają więcej niż 200 MB.

Mark Borgerding
źródło
Szkoda, że ​​kilkanaście hacków grep są bardziej uprzywilejowane. Aha i du -k
upewni się,
Dobry pomysł na -k. Edytowane.
Mark Borgerding
Jeszcze prostsze i bardziej niezawodne: du -kx $2 | awk '$1>'$(($1*1024))(jeśli określisz tylko warunek aka wzorzec do awk, domyślną akcją jest print $0)
dave_thompson_085
Dobry punkt @ date_thompson_085. Dotyczy to wszystkich znanych mi wersji awk (net / free-BSD i GNU). @ mark-borgerding, co oznacza, że ​​możesz znacznie uprościć swój pierwszy przykładdu -kx / | awk '$1 > 500000'
ndemou,
@ mark-borgerding: Jeśli masz gdzieś tylko kilka kilobajtów, możesz również zachować całą wydajność du tak du -kx / | tee /tmp/du.log | awk '$1 > 500000'. Jest to bardzo pomocne, ponieważ jeśli twoje pierwsze filtrowanie okaże się bezowocne, możesz wypróbować inne takie wartości awk '$1 > 200000' /tmp/du.loglub sprawdzić pełne dane wyjściowe sort -nr /tmp/du.log|lessbez ponownego skanowania całego systemu plików
ndemou,
4

Podoba mi się stary dobry xdiskusage jako graficzna alternatywa dla du (1).

asjo
źródło
Zwróć uwagę na tę część pytania: „Wolę rozwiązanie wiersza poleceń, które opiera się na standardowych poleceniach Linuksa od ...”
ndemou
4

Wolę skorzystać z poniższych, aby uzyskać przegląd i przejść od tego ...

cd /folder_to_check
du -shx */

Spowoduje to wyświetlenie wyników z danymi wyjściowymi czytelnymi dla człowieka, takimi jak GB, MB. Zapobiegnie również przechodzeniu przez zdalne systemy plików. Ta -sopcja wyświetla tylko podsumowanie każdego znalezionego folderu, dzięki czemu możesz przejść do dalszych szczegółów, jeśli chcesz uzyskać więcej informacji o folderze. Należy pamiętać, że to rozwiązanie będzie wyświetlać tylko foldery, więc jeśli chcesz również pominąć gwiazdkę / po gwiazdce.

cmevoli
źródło
4

Nie wspomniano tutaj, ale powinieneś również sprawdzić lsof w przypadku usuniętych / zawieszonych plików. Miałem usunięty plik tmp o pojemności 5,9 GB z wybieranej aplikacji do współpracy.

https://serverfault.com/questions/207100/how-can-i-find-phantom-storage-usage Pomógł mi znaleźć właściciela procesu wspomnianego pliku (cron), a następnie udało mi się /proc/{cron id}/fd/{file handle #}zmniejszyć plik zadaj pytanie, aby uzyskać początek ucieczki, rozwiąż ten problem, a następnie powtórz plik „”>, aby zwolnić miejsce i pozwolić cronowi z wdziękiem się zamknąć.

David
źródło
3

Z terminala możesz uzyskać wizualną reprezentację użycia dysku za pomocą dutree

Jest bardzo szybki i lekki, ponieważ jest implementowany w Rust

dutree

$ dutree -h
Usage: dutree [options] <path> [<path>..]

Options:
    -d, --depth [DEPTH] show directories up to depth N (def 1)
    -a, --aggr [N[KMG]] aggregate smaller than N B/KiB/MiB/GiB (def 1M)
    -s, --summary       equivalent to -da, or -d1 -a1M
    -u, --usage         report real disk usage instead of file size
    -b, --bytes         print sizes in bytes
    -f, --files-only    skip directories for a fast local overview
    -x, --exclude NAME  exclude matching files or directories
    -H, --no-hidden     exclude hidden files
    -A, --ascii         ASCII characters only, no colors
    -h, --help          show help
    -v, --version       print version number

Zobacz wszystkie szczegóły użytkowania na stronie internetowej

nachoparker
źródło
2

Dla wiersza poleceń du (i jego opcje) wydaje się najlepszym sposobem. DiskHog wygląda tak, jakby używa również informacji du / df z zadania cron, więc sugestia Petera jest prawdopodobnie najlepszą kombinacją prostoty i skuteczności.

( FileLight i KDirStat są idealne do GUI.)

hometoast
źródło
2

Możesz użyć standardowych narzędzi, takich jak findi sortdo analizy wykorzystania miejsca na dysku.

Lista katalogów posortowana według ich wielkości:

find / -mount -type d -exec du -s "{}" \; | sort -n

Lista plików posortowana według ich wielkości:

find / -mount -printf "%k\t%p\n" | sort -n
scai
źródło
1
Uważam, że jest to najlepsza odpowiedź, aby wykryć duże rozmiary w posortowanej kolejności
vimal krishna
2

Być może warto zauważyć, że mc(Midnight Commander, klasyczny menedżer plików w trybie tekstowym) domyślnie pokazuje tylko rozmiar i-węzłów katalogu (zwykle 4096), ale za pomocą CtrlSpacelub z menu Narzędzia możesz zobaczyć przestrzeń zajmowaną przez wybrany katalog w czytelnym dla człowieka format (np. niektóre podobne 103151M).

Na przykład poniższe zdjęcie pokazuje pełny rozmiar waniliowych dystrybucji TeX Live z lat 2018 i 2017, podczas gdy wersje 2015 i 2016 pokazują tylko rozmiar i-węzła (ale mają naprawdę prawie 5 Gb każdy).

Oznacza to, że CtrlSpacenależy to zrobić jeden za drugim, tylko dla rzeczywistego poziomu katalogu, ale jest tak szybki i przydatny, gdy nawigujesz z mctym, że być może nie będziesz potrzebować ncdu(że w rzeczywistości tylko w tym celu jest lepszy). W przeciwnym razie, można również uruchomić ncduz mc. bez wyjścia mclub uruchomienia innego terminalu.

mwe

Fran
źródło
1

Najpierw sprawdzam rozmiar katalogów, tak jak poniżej:

du -sh /var/cache/*/
hendry
źródło
1

Jeśli wiesz, że duże pliki zostały dodane w ciągu ostatnich kilku dni (powiedzmy 3), możesz użyć polecenia find w połączeniu z „ ls -ltra”, aby odkryć te ostatnio dodane pliki:

find /some/dir -type f -mtime -3 -exec ls -lart {} \;

To da ci tylko pliki („ -type f”), a nie katalogi; tylko pliki z czasem modyfikacji w ciągu ostatnich 3 dni („ -mtime -3”) i wykonaj „ ls -lart” dla każdego znalezionego pliku („ -exec” część).


źródło
1

Aby zrozumieć nieproporcjonalne wykorzystanie miejsca na dysku, często warto zacząć od katalogu głównego i przejrzeć niektóre z jego największych elementów podrzędnych.

Możemy to zrobić przez

  • zapisywanie danych wyjściowych du do pliku
  • przeglądanie wyniku iteracyjnie

To jest:

# sum up the size of all files and directories under the root filesystem
du -a -h -x / > disk_usage.txt
# display the size of root items
grep $'\t/[^/]*$' disk_usage.txt

powiedzmy teraz, że / usr wydaje się zbyt duży

# display the size of /usr items
grep $'\t/usr/[^/]*$' disk_usage.txt

teraz, jeśli / usr / local jest podejrzanie duży

# display the size /usr/local items
grep $'\t/usr/local/[^/]*$' disk_usage.txt

i tak dalej...

Alex Jasmin
źródło
1

Użyłem tego polecenia, aby znaleźć pliki większe niż 100 Mb:

find / -size +100M -exec ls -l {} \;

źródło
0

Miałem sukces w wyszukiwaniu najgorszych przestępców, którzy duprzesyłali wyniki w postaci czytelnej dla człowieka egrepi dopasowując je do wyrażenia regularnego.

Na przykład:

du -h | egrep "[0-9]+G.*|[5-9][0-9][0-9]M.*"

co powinno dać ci wszystko 500 megabajtów lub więcej.

Justin Standard
źródło
Nie używać grep dla operacji arytmetycznych - wykorzystanie awk zamiast: du -k | awk '$1 > 500000'. O wiele łatwiej jest zrozumieć, edytować i poprawiać za pierwszym razem.
ndemou
0

Jeśli chcesz prędkości, możesz włączyć przydziały w systemach plików, które chcesz monitorować (nie musisz ustawiać przydziałów dla żadnego użytkownika), i użyj skryptu, który używa polecenia quota, aby wyświetlić listę miejsca na dysku używanego przez każdego użytkownika. Na przykład:

quota -v $user | grep $filesystem | awk '{ print $2 }'

dałoby ci użycie dysku w blokach dla konkretnego użytkownika w danym systemie plików. W ten sposób powinieneś być w stanie sprawdzić użycie w ciągu kilku sekund.

Aby włączyć przydziały, musisz dodać usrquota do opcji systemu plików w pliku / etc / fstab, a następnie prawdopodobnie zrestartować komputer, aby można było uruchomić quotacheck na bezczynnym systemie plików przed wywołaniem quotaon.


źródło
0

Oto niewielka aplikacja, która używa głębokiego próbkowania do znajdowania guzów w dowolnym dysku lub katalogu. Przechodzi dwa razy po drzewie katalogów, raz, aby je zmierzyć, a drugi raz wypisuje ścieżki do 20 „losowych” bajtów w katalogu.

void walk(string sDir, int iPass, int64& n, int64& n1, int64 step){
    foreach(string sSubDir in sDir){
        walk(sDir + "/" + sSubDir, iPass, n, n1, step);
    }
    foreach(string sFile in sDir){
        string sPath = sDir + "/" + sFile;
        int64 len = File.Size(sPath);
        if (iPass == 2){
            while(n1 <= n+len){
               print sPath;
               n1 += step;
            }
        }
        n += len;
    }
}

void dscan(){
    int64 n = 0, n1 = 0, step = 0;
    // pass 1, measure
    walk(".", 1, n, n1);
    print n;
    // pass 2, print
    step = n/20; n1 = step/2; n = 0;
    walk(".", 2, n, n1);
    print n;
}

Dane wyjściowe wyglądają następująco dla mojego katalogu Program Files:

 7,908,634,694
.\ArcSoft\PhotoStudio 2000\Samples\3.jpg
.\Common Files\Java\Update\Base Images\j2re1.4.2-b28\core1.zip
.\Common Files\Wise Installation Wizard\WISDED53B0BB67C4244AE6AD6FD3C28D1EF_7_0_2_7.MSI
.\Insightful\splus62\java\jre\lib\jaws.jar
.\Intel\Compiler\Fortran\9.1\em64t\bin\tselect.exe
.\Intel\Download\IntelFortranProCompiler91\Compiler\Itanium\Data1.cab
.\Intel\MKL\8.0.1\em64t\bin\mkl_lapack32.dll
.\Java\jre1.6.0\bin\client\classes.jsa
.\Microsoft SQL Server\90\Setup Bootstrap\sqlsval.dll
.\Microsoft Visual Studio\DF98\DOC\TAPI.CHM
.\Microsoft Visual Studio .NET 2003\CompactFrameworkSDK\v1.0.5000\Windows CE\sqlce20sql2ksp1.exe
.\Microsoft Visual Studio .NET 2003\SDK\v1.1\Tool Developers Guide\docs\Partition II Metadata.doc
.\Microsoft Visual Studio .NET 2003\Visual Studio .NET Enterprise Architect 2003 - English\Logs\VSMsiLog0A34.txt
.\Microsoft Visual Studio 8\Microsoft Visual Studio 2005 Professional Edition - ENU\Logs\VSMsiLog1A9E.txt
.\Microsoft Visual Studio 8\SmartDevices\SDK\CompactFramework\2.0\v2.0\WindowsCE\wce500\mipsiv\NETCFv2.wce5.mipsiv.cab
.\Microsoft Visual Studio 8\VC\ce\atlmfc\lib\armv4i\UafxcW.lib
.\Microsoft Visual Studio 8\VC\ce\Dll\mipsii\mfc80ud.pdb
.\Movie Maker\MUI\0409\moviemk.chm
.\TheCompany\TheProduct\docs\TheProduct User's Guide.pdf
.\VNI\CTT6.0\help\StatV1.pdf
7,908,634,694

Mówi mi, że katalog ma 7,9 GB, z czego

  • ~ 15% idzie na kompilator Intel Fortran
  • ~ 15% idzie na VS .NET 2003
  • ~ 20% idzie na VS 8

Wystarczy zapytać, czy któreś z nich można rozładować.

Mówi także o typach plików, które są rozproszone w systemie plików, ale razem stanowią okazję do zaoszczędzenia miejsca:

  • ~ 15% z grubsza idzie na pliki .cab i .MSI
  • ~ 10% z grubsza idzie na rejestrowanie plików tekstowych

Pokazuje też wiele innych rzeczy, z którymi prawdopodobnie nie mogłem się obejść, takich jak obsługa „SmartDevices” i „ce” (~ 15%).

Zajmuje to czas liniowy, ale nie trzeba go często robić.

Przykłady rzeczy, które znalazł:

  • kopie zapasowe bibliotek DLL w wielu zapisanych repozytoriach kodów, które tak naprawdę nie muszą być zapisywane
  • kopia zapasowa czyjegoś dysku twardego na serwerze, w niejasnym katalogu
  • obszerne tymczasowe pliki internetowe
  • potrzebna jest starożytna dokumentacja i pliki pomocy

źródło
0

Miałem podobny problem, ale odpowiedzi na tej stronie nie były wystarczające. Znalazłem następującą komendę, która jest najbardziej użyteczna dla listy:

du -a / | sort -n -r | head -n 20

Który pokazałby mi 20 największych przestępców. Jednak pomimo tego, że to uruchomiłem, nie pokazało mi to prawdziwego problemu, ponieważ już usunąłem plik. Problem polegał na tym, że nadal działał proces odwołujący się do usuniętego pliku dziennika ... więc najpierw musiałem go zabić, a następnie miejsce na dysku pojawiło się jako wolne.

VenomFangs
źródło
Dobra uwaga, ale powinien to być komentarz, a nie odpowiedź sama w sobie - na to pytanie cierpi zbyt wiele odpowiedzi
ndemou
0

Możesz użyć DiskReport.net, aby wygenerować raport online o wszystkich dyskach.

Przy wielu uruchomieniach pokaże Ci wykres historii dla wszystkich twoich folderów, łatwy do znalezienia, co się powiększyło

SteeTri
źródło
To narzędzie nie pasuje do dwóch głównych kwestii pytania „Często usiłuję wytropić winowajcę po zapełnieniu partycji” i „Wolę rozwiązanie wiersza poleceń oparte na standardowych poleceniach Linuksa”
ndemou,
0

Jest ładny darmowy wieloplatformowy darmowy program o nazwie JDiskReport, który zawiera GUI do zbadania, co zajmuje całą tę przestrzeń.

Przykładowy zrzut ekranu:
Zrzut ekranu JDiskReport

Oczywiście musisz ręcznie wyczyścić trochę miejsca, zanim będziesz mógł je pobrać i zainstalować lub pobrać na inny dysk (np. Pendrive USB).


(Skopiowane tutaj z tego samego autora odpowiedzi na pytanie duplikatu)

WBT
źródło