Szukam serii poleceń, które pokażą mi największe pliki na dysku.
command-line
disk-usage
Ryan Detzel
źródło
źródło
Odpowiedzi:
Jeśli potrzebujesz tylko znaleźć duże pliki, możesz użyć
find
tej-size
opcji. Następne polecenie wyświetli wszystkie pliki większe niż 10 MB ( nie mylić z 10 MB ):Jeśli chcesz znaleźć pliki o określonym rozmiarze, możesz połączyć je z wyszukiwaniem „rozmiar mniejszy niż”. Następne polecenie wyszukuje pliki między 10MiB a 12MiB:
apt-cache search 'disk usage'
zawiera listę niektórych programów dostępnych do analizy użycia dysku. Jedną z aplikacji, która wygląda bardzo obiecująco, jestgt5
.Z opisu pakietu:
W sekcji „pokrewne pakiety” pakietu gt5 znalazłem
ncdu
. Z opisu opakowania:źródło
-ls
wyjściowy jest zakodowany na stałe (patrz kod źródłowypred_fls
i funkcje list_file ). Możesz spróbować przybliżyć dane wyjściowe za pomocą-printf
opcji, przetworzyć dane wyjściowe za pomocą awk lub użyć czegoś takiegofind ... -type f -exec ls -ldh {} \; | column -t
Po prostu używam kombinacji
du
isort
.To jest przypadek płukania i powtórzenia . Kieruj na podkatalogi, które uważasz za zbyt duże, uruchom dla nich polecenie, a dowiesz się, co jest przyczyną problemu.
Uwaga: Używam
du
„s-x
flagę zachować rzeczy ograniczone do jednego systemu plików (Mam dość skomplikowany układ poprzecznych zamontowane rzeczy między SSD i RAID5).Uwaga 2:
2>/dev/null
przekierowuje wszelkie komunikaty o błędach w zapomnienie. Jeśli ci nie przeszkadzają, nie jest to obowiązkowe.źródło
du
: „Podsumuj użycie dysku dla każdego PLIKU, rekurencyjnie dla katalogów”.Moje ulubione rozwiązanie wykorzystuje kombinację kilku dobrych odpowiedzi.
du
argumenty:-a
dla „wszystkich” plików i katalogów. Pozostaw to tylko dla katalogów-BM
wyprowadzać rozmiary w megabajtach (M) rozmiary bloków (B)2>/dev/null
- wyklucz komunikaty o błędach „odmowa uprawnień” (dzięki @Oli)sort
argumenty:-n
dla „numerycznego”-r
dla „rewersu” (od największego do najmniejszego)head
argumenty:-n 50
tylko 50 najlepszych wyników.more
jeśli używasz mniejszej liczbyUwaga: prefiks z,
sudo
aby dołączyć katalogi, do których twoje konto nie ma uprawnień dostępu.Przykład pokazujący 10 największych plików i katalogów w / var (łącznie z sumą całkowitą).
źródło
Odpowiedź qbi jest poprawna, ale będzie bardzo wolna, gdy będzie dużo plików, ponieważ rozpocznie nowy proces ls dla każdego elementu.
znacznie szybszą wersją używającą find bez odradzania procesów potomnych byłoby użycie printf do wydrukowania rozmiaru w bajtach (% s) i ścieżce (% p)
find "$directory" -type f -printf "%s - %p\n" | sort -n | tail -n $num_entries
źródło
Aby wyświetlić największe 20 najlepszych katalogów (rekurencyjnie) w bieżącym folderze, użyj następującego jednowierszowego:
lub (bardziej zorientowany na Uniksa):
W przypadku 20 największych plików w bieżącym katalogu (rekurencyjnie):
lub w rozmiarach czytelnych dla ludzi:
Więc te aliasy są przydatne w plikach rc (za każdym razem, gdy ich potrzebujesz):
źródło
To wydaje się być idealną aplikacją do
find
:To polecenie znajdzie wszystkie pliki w katalogu
$DIRECTORY
i uruchomils -s
je na nich. Ostatnie polecenie drukuje przydzielony rozmiar pliku plus nazwę pliku. Wynik jest sortowany numerycznie, a wyświetlanych jest pięć ostatnich wpisów. W rezultacie zobaczysz 5 największych plików w$DIRETORY
dowolnym podkatalogu. Jeśli wejdziesztail -n 1
, zobaczysz tylko największy plik.Ponadto możesz dużo się bawić
find
. Na przykład możesz szukać plików młodszych niż n dni (-ctime -n
) lub należących do specjalnych użytkowników (-user johndoe
).źródło
Kiedy potrzebuję zrobić więcej wolnego miejsca na serwerach, używam tego polecenia. Znajduje wszystkie pliki większe niż 50 MB i „du -h” tworzy lepszą listę plików, a „sort -n” po potoku tworzy listę numerycznie posortowaną według rozmiaru pliku.
źródło
Wypróbuj Baobab, daje graficzny przegląd plików i folderów, możesz zobaczyć, gdzie są prawdziwe kosmiczne świnie i usunąć je jednym kliknięciem https://help.ubuntu.com/community/Baobab
źródło
Aby znaleźć wszystkie pliki GB, na przykład, użyłbym du i grep, chociaż inne metody tutaj wymienione również wydają się świetne.
Możesz także uzyskać upodobanie dzięki opcji --except, którą ma du.
źródło
Możesz także sortować pliki według rozmiaru:
Znajduje tylko pliki i uruchamia się
du -h
dla każdego pliku, co pokazuje rozmiar pliku. Na koniec sortujemy dane wyjściowefind
/du
według pierwszej kolumny (w formacie czytelnym dla człowieka).Ostatni wydrukowany plik jest największy.
źródło
Możesz użyć tego polecenia, aby zobaczyć największe pliki podczas pomijania katalogów:
Aby znaleźć wszystkie pliki, które są większe niż 100 MB (nie jest to 100 MB, zobacz tutaj, jeśli jesteś zdezorientowany):
poniższe polecenie wyświetli 5 największych plików w folderze
$DIRECTORY
:UŻYWANIE
du
: Poniższe polecenie, które używa du, wyświetla katalogi z 20 największymi rozmiarami w domowym folderze roboczym:Teraz, aby wyświetlić największe katalogi / pliki, w tym podfoldery, uruchom:
Używanie
ls
:Aby wyświetlić 5 największych plików w katalogu / bin, wydaj poniższe polecenie:
Możesz także użyć narzędzia Disk Usage Analyzer lub Baobao, jak pokazano na przykład tutaj .
źródło
Świetnym, przyjaznym dla użytkownika narzędziem wymienionym w odpowiedzi na podobne pytanie jest
NCurses Disk Usage
narzędzie:źródło