Jak wyświetlić listę wszystkich plików w katalogu i ich rekurencyjne rozmiary?
---edytować
Chcę, aby rozmiary „zwinięte” do katalogów nadrzędnych w wymienionym katalogu. Nie chcę widzieć katalogów potomnych ani ich zawartości ani rozmiarów.
Jak wyświetlić listę wszystkich plików w katalogu i ich rekurencyjne rozmiary?
---edytować
Chcę, aby rozmiary „zwinięte” do katalogów nadrzędnych w wymienionym katalogu. Nie chcę widzieć katalogów potomnych ani ich zawartości ani rozmiarów.
Odpowiedzi:
Wydaje mi się, że najprostszym sposobem jest wpisanie ls -llub ls -lhpodanie rozmiaru pliku w formacie czytelnym dla człowieka (KB, MB itp.).
Jeśli „rekurencyjnie” oznacza listę wszystkich kolejnych folderów, np .:
/ foo /
/ foo / bar / ....
Następnie należy również dodać parametr R, taki jak ls -lRlubls -lhR
Więcej informacji na temat lsmożna znaleźć, wpisującman ls
Aktualizacja:
Następujące polecenie, jak zaproponował Lekensteyn, prawdopodobnie wykona zadanie:
du -h --max-depth=1 <folder>
-hjest czytelny dla ludzi,
--apparent-sizeto kolejny sposób wyświetlania rozmiarów, ponieważ już podany
--max-depthjest poziom podfolderów, do którego chcesz zejść.
apt-get install ncdu

Jest również interaktywny, więc jeśli chcesz sprawdzić podfolder, po prostu GÓRA, DÓŁ i Enter do niego.
Aby uzyskać całkowity rozmiar katalogu i wszystkich dzieci
du -hs directory/*
Sprawdź także tree. Nie jest instalowany domyślnie, ale jest repozytoriami.
Przykład:
richard@legend:~$ tree Applications/ -s
Applications/
├── [ 4096] AlexFTPS-1.0.2
│ ├── [ 31232] AlexPilotti.FTPS.Client.dll
│ ├── [ 274432] C5.dll
│ ├── [ 1457] C5-License
│ ├── [ 35147] COPYING
│ ├── [ 7639] COPYING.LESSER
│ ├── [ 70] ftps
│ ├── [ 28672] ftps.exe
│ ├── [ 98304] Plossum CommandLine.dll
│ ├── [ 1557] Plossum-License
│ └── [ 2560] README
└── [ 4096] src
└── [ 180849] AlexFTPS_bin_1.0.2.zip
Więcej opcji można znaleźć na stronie man.
-hpokaż rozmiar w czytelny dla człowieka sposób, np.tree -s
Ponieważ nie wspominasz wyraźnie, że potrzebujesz rozwiązania opartego na terminalu, myślę, że baobab, znany również jako Disk Usage Analyzer, nie znajduje się na liście.
Jest domyślnie instalowany w Ubuntu i robi dokładnie to, co chcesz w ładnym graficznym interfejsie użytkownika z możliwością drążenia hierarchii katalogów.
Oprócz wyświetlania listy katalogów z ich rozmiarami, pokazuje także tabelę pierścieni lub mapę tremap użycia systemu plików, co jest niezwykle przydatne do wizualizacji katalogów, które zajmują najwięcej miejsca.

Rozwiązaniem terminalowym jest dupolecenie:
du --all --human-readable --apparent-size
(skrótowa: du -ah --apparent-size)
duwyświetla użycie dysku dla każdego pliku i katalogu. Opcje wyjaśnione:
--all, -a- pokaż również rozmiary plików, nie tylko katalogów--human-readable, -h- pokaż rozmiary w formacie czytelnym dla człowieka, np. 10K(10 kilobajtów), 10(10 bajtów)--apparent-size - pokaż rzeczywisty rozmiar pliku, a nie rozmiary używane przez dysk.--max-depth=1
--max-depth=1można go skrócić -d1.
Wydaje się, że to załatwia sprawę, gdy w grę wchodzą linki uproszczone.
ls -LRlh
Aby uzyskać posortowaną listę, umieść wszystko w MB i posortuj:
du -m * | sort -n
Lub użyj narzędzia takiego jak DiskReport, aby wygenerować raport pełnego drzewa dysków.
Kolejne rozwiązanie terminalowe z findsortowaniem (według rozmiaru pliku, kolumna 1)
$ find . -maxdepth 1 ! -path . -printf "%s %p\n" | sort -n -k1
178 ./somefile.txt
219 ./somefile2.txt
4096 ./c
4096 ./cs2
4096 ./perl
4096 ./python
4096 ./random
4096 ./sh