it-swarm-ru.tech

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

Я хочу список папок из текущего каталога или тот, который я указываю с их размером.

Я пробовал с du, но я получаю только размер директорий, которые я определяю (du. .Ff), а ls не показывает размер папок.

Как мне сделать это без каких-либо сценариев?

123
kevin

Если вы хотите показать все каталоги в текущем каталоге:

$ 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.

201
Dennis Williamson

На Mac опция --max-глубина заменяется на -d [глубину]. Итак, чтобы увидеть удобочитаемый список вашего корневого диска плюс 2 уровня, используйте следующее:

du -hd 2 /* 

Примечание: эта команда выставит два верхних уровня каталогов за пределы вашего корня. Это включает прохождение одного уровня в ваши тома , и в нем будут перечислены итоговые размеры каждого каталога верхнего уровня в каждом из подключенных томов. В зависимости от того, что вы добавили, выполнение этой команды может занять некоторое время.

18
jadik

Другой подход - опция --max-глубина.

du -h --max-depth=1 .

Перечислит все каталоги и файлы в текущей папке с размером.

Глубина 2 будет перечислять еще один уровень папок.

12
matthias krull

Пытаться:

$ du -s ./f1

или же

$ du -sh ./f1

для более дружественных читаемых размеров.

5
Doug Harris

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

$ du -sh */ | sort -rn
2
Ethan

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

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

2
Ray

$ du --max-depth=1 /var/www/ | sort -n -r

2
Andre Mesquita

Вот скрипт POSIX, который будет работать с:

  • Файл
  • Файлы
  • Каталог
  • Справочники
#!/bin/sh
ls -ARgo "[email protected]" | awk '{q += $3} END {print q}'

Источник

0
Steven Penny

На Mac вы можете установить реализацию GNU (Linux) du с помощью Homebrew (brew install coreutils). Тогда, например:

gdu folder -shL --exclude=.git

где

  • gdu - это имя, данное GNU реализацией du (по умолчанию Homebrew не скрывает /usr/bin/du);
  • s производит общий итог для указанной папки (опустите, если вы хотите увидеть разбивку);
  • h выводит удобочитаемые размеры;
  • L следует за символическими ссылками;
  • --exclude=.git исключает каталог git в указанной папке (это только пример).

Вы можете игнорировать больше папок, добавив --exclude=blah. Вы также можете указать несколько папок одновременно (т.е. gdu folder1 folder2 ...), и в этом случае вы можете объединить все промежуточные итоги в один размер, используя опцию c.

0
Sheljohn