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?
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?
Odpowiedzi:
Jeśli chcesz wyświetlić wszystkie katalogi w bieżącym katalogu:
$ du -sh */
788K foo/
500K bar/
931K baz/
Aby pokazać je zaczynając od innego katalogu:
$ du -sh /path/to/dir/*/
48K /path/to/dir/dir1/
4.0K /path/to/dir/dir2/
6.7M /path/to/dir/dir3/
20K /path/to/dir/dir4/
8.0K /path/to/dir/dir5/
44K /path/to/dir/dir6/
Jeśli chcesz się upewnić, że uwzględniono katalogi z nazwami rozpoczynającymi się od kropki, zrób to shopt -s dotglob
najpierw.
du -s */ | sort -n
.
shopt -s dotglob
doc
Na 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:
du -hd 2 /*
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.
Innym podejściem jest opcja --max-depth.
du -h --max-depth=1 .
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.
du -hd 2 .
2 poziomy głębi.
Próbować:
$ du -s ./f1
lub
$ du -sh ./f1
dla bardziej przyjaznych czytelnych rozmiarów.
$ du --max-depth=1 /var/www/ | sort -n -r
Warto wspomnieć o poleceniu powłoki Użycie dysku NCurses .
Ncdu to analizator użycia dysku z interfejsem ncurses. Jest przeznaczony do znajdowania kosmicznych świń na zdalnym serwerze, na którym nie masz dostępnej całej konfiguracji graficznej, ale jest to przydatne narzędzie nawet w zwykłych systemach komputerowych. Ncdu ma być szybki, prosty i łatwy w użyciu i powinien być w stanie działać w każdym minimalnym środowisku podobnym do POSIX z zainstalowanymi ncurses.
Na Macu możesz zainstalować implementację GNU (Linux) du
z Homebrew ( brew install coreutils
). Następnie na przykład:
gdu folder -shL --exclude=.git
gdzie
gdu
to nazwa nadana implementacji GNU du
(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ą opcji c
.
Oto skrypt POSIX, który będzie działał z:
#!/bin/sh
ls -ARgo "$@" | awk '{q += $3} END {print q}'