Chcę listę folderów z bieżącego katalogu lub jednego, który określam ich rozmiarem.
Próbowałem z du, ale otrzymuję tylko rozmiar katalogów, które określam (du. ./F1), a ls nie pokazuje rozmiaru folderów.
Jak to zrobić bez skryptów?
command-line
unix
terminal
Kevin
źródło
źródło
Odpowiedzi:
Jeśli chcesz wyświetlić wszystkie katalogi w bieżącym katalogu:
Aby pokazać je zaczynając od innego katalogu:
Jeśli chcesz się upewnić, że uwzględniono katalogi z nazwami rozpoczynającymi się od kropki, zrób to
shopt -s dotglob
najpierw.źródło
du -s */ | sort -n
.shopt -s dotglob
docNa komputerze Mac opcja --max-depth jest zastępowana przez -d [depth]. Tak więc, aby zobaczyć czytelną dla człowieka listę twojego dysku głównego oraz głębokość 2 poziomów, użyj następujących czynności:
Uwaga: to polecenie ujawni dwa najwyższe poziomy katalogu poza katalogiem głównym. Obejmuje to przejście o jeden poziom do twoich woluminów i wyświetli listę rozmiarów podsumowania każdego katalogu najwyższego poziomu w każdym z dołączonych woluminów. W zależności od tego, co załączyłeś, wykonanie tego polecenia może zająć trochę czasu.
źródło
Innym podejściem jest opcja --max-depth.
Wyświetli listę wszystkich katalogów i plików w bieżącym folderze wraz z rozmiarem.
Głębia 2 wyświetli jeszcze jeden poziom folderów.
źródło
du -hd 2 .
2 poziomy głębi.Próbować:
lub
dla bardziej przyjaznych czytelnych rozmiarów.
źródło
$ du --max-depth=1 /var/www/ | sort -n -r
źródło
Warto wspomnieć o poleceniu powłoki Użycie dysku NCurses .
źródło
Opierając się na zaakceptowanej odpowiedzi, to polecenie pokaże ci rozmiary folderów w katalogu, a także wyświetli listę według rozmiaru, aby łatwiej interpretować:
źródło
Na Macu możesz zainstalować implementację GNU (Linux)
du
z Homebrew (brew install coreutils
). Następnie na przykład:gdzie
gdu
to nazwa nadana implementacji GNUdu
(domyślnie Homebrew się nie ukrywa/usr/bin/du
);s
tworzy sumę całkowitą dla określonego folderu (pomiń, jeśli chcesz zobaczyć podział);h
generuje rozmiary czytelne dla człowieka;L
podąża za dowiązaniami symbolicznymi;--exclude=.git
wyklucza katalog git w określonym folderze (to tylko przykład).Możesz zignorować więcej folderów, dodając
--exclude=blah
. Możesz także określić kilka folderów jednocześnie (tj.gdu folder1 folder2 ...
), W takim przypadku możesz połączyć wszystkie sumy częściowe w jeden rozmiar za pomocą opcjic
.źródło
Oto skrypt POSIX, który będzie działał z:
Źródło
źródło