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

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

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

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

  • Нужно ли форматировать / разделять диск назначения ddrescue?
  • Ubuntu grub не запускается, ошибка: вне диска
  • Как удалить все файлы в каталоге, кроме некоторых?
  • Можно ли загружать Windows 8.1 без собственного загрузчика?
  • Как копировать файлы с помощью SSH?
  • Как запустить команду после загрузки?
  • Как заставить GPG использовать консольный режим pinentry для запроса паролей?
  • Получите разрешение экрана из командной строки для Linux Desktop
  • 4 Solutions collect form web for “Bash: отображает каждый размер подкаталога в формате списка с помощью 1 строки?”

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

    $ 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 

    Попробуй это

     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 в выводе, но исключает скрытые элементы (чье имя начинается с точки). Он также не имеет общего размера для текущего рабочего каталога, поскольку это не было передано в качестве аргумента.

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

     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 

    Стоит упомянуть команду оболочки NCurses Disk Usage .

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

    Давайте будем гением компьютера.