Bash: отображение каждого размера подкаталога в формате списка с помощью команды 1 строка?

Я хочу получить список каталогов и их размеров в формате списка, как вы получаете, когда вы делаете ls -l.

дело в том, что есть одна команда строки, которая может это сделать? Я вижу, что у других есть длинные команды только для вывода этого. Это просто слишком долго.

какая команда может сделать это или сочетание команд, которые могут быть легко набраны? du -h дает его, но он отображает все подпапки, которые не то, что я хочу. только текущие каталоги папки.

7
задан Jason
30.01.2023 6:26 Количество просмотров материала 2396
Распечатать страницу

4 ответа

вы, вероятно, хотите увидеть каталоги, упорядоченные по размеру:

$ du -hs * | sort -hr

856M    lib
746M    share
612M    lib64
312M    src
267M    java
239M    bin
179M    sbin
173M    local
93M     i686-w64-mingw32
72M     libexec
26M     include
20M     puppet
772K    X11R6
20K     man
4.0K    games
4.0K    etc
0       tmp
48
отвечен raychi 2023-01-31 14:14

попробуй такое

du -h --max-depth=1

выход

oliver@home:/usr$ sudo du -h --max-depth=1
24M     ./include
20M     ./sbin
228M    ./local
4.0K    ./src
520M    ./lib
8.0K    ./games
1.3G    ./share
255M    ./bin
2.4G    .

альтернатива

если --max-depth=1 - это слишком долго для вашего вкуса, вы также можете попробовать использовать:

du -h -s *

использует -s (--summarize) и будет печатать только размер самой папки по умолчанию. Передавая все элементы в текущем рабочем каталоге (*), он производит аналогичный вывод, как --max-depth=1 будет:

выход

oliver@cloud:/usr$ sudo du -h -s *
255M    bin
8.0K    games
24M     include
520M    lib
0       lib64
228M    local
20M     sbin
1.3G    share
4.0K    src

разница тонкий. При первом подходе отображается общий размер текущего рабочего каталога и общий размер всех содержащихся в нем папок... но только до глубины 1.

последний подход будет вычислять общий размер всех переданных элементов индивидуально. Таким образом, он включает символическую ссылку lib64 в выводе, но исключает скрытые элементы (имя которых начинается с точки). В нем также отсутствует общий размер для текущего рабочего каталога, как это не было передается в качестве аргумента.

116
отвечен Der Hochstapler 2023-01-31 16:31

вывести размеры всех папок с файлами и скрытых файлов на диске:

el@dev /home/el $ du -sh `ls -a`
258M    .
265M    ..
4.0K    .classpath
258M    .git
4.0K    .gitignore
9.0K    nbactions.xml
12K     README
20K     .README.swp
4.0K    run.sh
23K    XmlPostPropagate.php
6
отвечен Eric Leschinski 2023-01-31 18:48

отметить NCurses Использование Диска командная оболочка.

Ncdu анализатор использования диска с интерфейсом ncurses. это конструировал найти свиньи космоса на дистанционном сервере где вы не имеете все графические настройки, но это полезный инструмент, даже на обычные настольные системы. Ncdu стремится быть быстрым, простым и легким в использовании, и должен иметь возможность работать в любой минимальной POSIX-подобной среде с на ncurses установленный.

1
отвечен Ray 2023-01-31 21:05

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх