Я хочу список папок из текущего каталога или тот, который я указываю с их размером.
Я пробовал с du, но я получаю только размер директорий, которые я определяю (du. .Ff), а ls не показывает размер папок.
Как мне сделать это без каких-либо сценариев?
Я хочу список папок из текущего каталога или тот, который я указываю с их размером.
Я пробовал с du, но я получаю только размер директорий, которые я определяю (du. .Ff), а ls не показывает размер папок.
Как мне сделать это без каких-либо сценариев?
Если вы хотите показать все каталоги в текущем каталоге:
$ 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/
Если вы хотите убедиться, что каталоги с именами начинаются с точки, сначала выполните shopt -s dotglob .
На Mac опция --max-глубина заменяется на -d [глубину]. Итак, чтобы увидеть удобочитаемый список вашего корневого диска плюс 2 уровня, используйте следующее:
du -hd 2 /*
Примечание: эта команда выставит два верхних уровня каталогов за пределы вашего корня. Это включает в себя прохождение одного уровня в ваши тома и перечисление итоговых размеров каждого каталога верхнего уровня в каждом из подключенных томов. В зависимости от того, что вы добавили, выполнение этой команды может занять некоторое время.
Другой подход - опция -max-глубина.
du -h --max-depth=1 .
Перечислит все каталоги и файлы в текущей папке с размером.
Глубина 2 будет перечислять еще один уровень папок.
Пытаться:
$ du -s ./f1
или же
$ du -sh ./f1
для более дружественных читаемых размеров.
$ du --max-depth=1 /var/www/ | sort -n -r
Основываясь на принятом ответе, эта команда покажет вам размеры папок в каталоге, а также перечислит их по размеру, чтобы вам было легче их интерпретировать:
$ du -sh */ | sort -rn
Стоит упомянуть команду оболочки NCurses Disk Usage .
Ncdu - это анализатор использования дисков с интерфейсом ncurses. Он предназначен для поиска космических свиней на удаленном сервере, где у вас нет полной графической настройки, но это полезный инструмент даже на обычных настольных системах. Ncdu стремится быть быстрым, простым и легким в использовании и должен быть в состоянии работать в любой минимальной POSIX-подобной среде с установленными ncurses.
Вот скрипт POSIX, который будет работать с:
#!/bin/sh
ls -ARgo "$@" | awk '{q += $3} END {print q}'
На Mac вы можете установить реализацию GNU (Linux) du с помощью Homebrew (brew install coreutils).
Тогда, например:
gdu folder -shL --exclude=.git
где
gdu - имя, данное реализации du в GNU (по умолчанию Homebrew не скрывает /usr/bin/du);s производит общий итог для указанной папки (опустите, если хотите увидеть разбивку);h выводит удобочитаемые размеры;L следует за символическими ссылками;--exclude=.git исключает каталог git в указанной папке (это только пример).Вы можете игнорировать больше папок, добавив --exclude=blah . Вы также можете указать несколько папок одновременно (т.е. gdu folder1 folder2 ...), и в этом случае вы можете объединить все промежуточные итоги в один размер, используя опцию c .