2010-08-03 17:58:26 +0000 2010-08-03 17:58:26 +0000
142
142

Укажите в терминале размеры текущей папки?

Мне нужен список папок из текущей директории или та, которую я указываю с их размерами.

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

Как мне это сделать без какого-либо скрипта ?

Ответы (9)

223
223
223
2010-08-03 18:29:55 +0000

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

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

19
19
19
2013-03-02 05:23:56 +0000

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

du -hd 2 /*

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

14
14
14
2010-08-03 19:32:55 +0000

Другой подход - опция –max depth.

du -h --max-depth=1 .

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

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

5
5
5
2010-08-03 18:09:10 +0000

Попробуйте:

$ du -s ./f1

или

$ du -sh ./f1

для более удобного чтения размеров.

4
4
4
2018-03-02 22:17:45 +0000

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

$ du -sh */ | sort -rn
2
2
2
2015-06-30 15:39:04 +0000

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

2
2
2
2016-06-12 12:26:54 +0000

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

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

1
1
1
2017-03-27 23:47:09 +0000

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

  • Файл
  • Файлы
  • Каталог
  • Директории
#!/bin/sh
ls -ARgo "$@" | awk '{q += $3} END {print q}'

Источник

1
1
1
2017-09-28 15:32:12 +0000

На 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.

Похожие вопросы

10
7
5
15
6