вывести список размеров текущей папки с помощью терминала?

<p>я хочу список папок из текущего каталога или тот, который я указываю с их размером.</p><p>я пробовал с du, но я получаю только размер директорий, которые я определяю (du. .ff), а ls не показывает размер папок.</p><p>как мне сделать это без каких-либо сценариев?</p>

<p>если вы хотите показать все каталоги в текущем каталоге:</p><pre><code>$ du -sh / 788k foo/ 500k bar/ 931k baz/ чтобы показать их, начиная с другого каталога:$ 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/ </code></pre><p>если вы хотите убедиться, что каталоги с именами, начинающимися с точки, включены, сначала выполните <code>shopt -s dotglob</code>.</p>

<p>на mac опция --max-глубина заменяется на -d [глубину]. итак, чтобы увидеть удобочитаемый список вашего корневого диска плюс 2 уровня, используйте следующее:</p><pre><code>du -hd 2 /* </code></pre><p>примечание: эта команда выставит два верхних уровня каталогов за пределы вашего корня.<em> это включает прохождение одного уровня в ваши тома </em>, и в нем будут перечислены итоговые размеры каждого каталога верхнего уровня в каждом из подключенных томов. в зависимости от того, что вы добавили, выполнение этой команды может занять некоторое время.</p>

<p>другой подход - опция --max-глубина.</p><pre><code>du -h --max-depth=1 . </code></pre><p>перечислит все каталоги и файлы в текущей папке с размером.</p><p>глубина 2 будет перечислять еще один уровень папок.</p>

<p>пытаться:</p><pre><code>$ du -s ./f1 или же$ du -sh ./f1 </code></pre><p>для более дружественных читаемых размеров.</p>

<p>основываясь на принятом ответе, эта команда покажет вам размеры папок в каталоге,<em> и </em>также перечислит их по размеру, чтобы вам было легче их интерпретировать:</p><pre><code>$ du -sh / | sort -rn 

стоит упомянуть команду <a href="https://dev.yorhel.nl/ncdu">ncurses disk usage shell.<blockquote> ncdu - это анализатор использования дисков с интерфейсом ncurses. он предназначен для поиска космических свиней на удаленном сервере, где у вас нет полной графической настройки, но это полезный инструмент даже на обычных настольных системах. ncdu стремится быть быстрым, простым и легким в использовании и должен быть в состоянии работать в любой минимальной posix-подобной среде с установленными ncurses. </blockquote>

$ du --max-depth=1 /var/www/ | sort -n -r</code></p>

<p>вот скрипт posix, который будет работать с:</p><ul> <li>файл</li> <li>файлы</li> <li>каталог</li> <li>справочники</li> </ul><pre class="lang-r prettyprint-override"><code>#!/bin/sh ls -argo "$@" | awk '{q += $3} end {print q}' </code></pre><p> <a href="//github.com/svnpenn/stdlib/blob/7696c9c/contrib/file-size.sh">источник</a> </p>

<p>на mac вы можете установить реализацию gnu (linux) <code>du</code> с помощью homebrew (<code>brew install coreutils</code>). тогда, например:</p><pre><code>gdu folder -shl --exclude=.git </code></pre><p>где</p><ul> <li><code>gdu</code> - это имя, данное gnu реализацией <code>du</code> (по умолчанию homebrew не скрывает <code>/usr/bin/du</code>);</li> <li><code>s</code> производит общий итог для указанной папки (опустите, если вы хотите увидеть разбивку);</li> <li><code>h</code> выводит удобочитаемые размеры;</li> <li><code>l</code> следует за символическими ссылками;</li> <li><code>--exclude=.git</code> исключает каталог git в указанной папке (это только пример).</li> </ul><p>вы можете игнорировать больше папок, добавив <code>--exclude=blah</code>. вы также можете указать несколько папок одновременно (т.е. <code>gdu folder1 folder2 ...</code>), и в этом случае вы можете объединить все промежуточные итоги в один размер, используя опцию <code>c</code>.</p>