Как получить итоговые размеры каталогов и их подкаталогов?

Скажем, я хочу получить размер каждого каталога файловой системы Linux. Когда я использую ls -la Я действительно не получаю итоговый размер папок.

Если я использую df Я получаю размер каждой смонтированной файловой системы, но это также не помогает мне. И с du Я получаю размер каждого подкаталога и сводку целой файловой системы.

Но я хочу иметь только итоговый размер каждого каталога в Корневой папке файловой системы. Там какая-либо команда должна достигнуть этого?

308
задан 26.08.2017, 00:31

4 ответа

Это делает то, что Вы ищете:

du -sh /*

Что это означает:

  • -s дать только общее количество для каждого параметра командной строки.
  • -h для человекочитаемых суффиксов как M для мегабайтов и G для гигабайтов (дополнительно).
  • /* просто расширяется до всех каталогов (и файлы) в /.

    Примечание: dotfiles не включены; выполненный shopt -s dotglob включать их также.

Также полезный сортирует по размеру:

du -sh /* | sort -h

Здесь:

  • -h гарантирует это sort интерпретирует человекочитаемые суффиксы правильно.
439
ответ дан 16.12.2019, 22:45

Вы могли бы также хотеть проверить xdiskusage. Даст Вам, та же информация, но показанный графически, плюс позволяет выполнять развертку (очень полезный). Существуют другие подобные утилиты для KDE и даже Windows.

0
ответ дан 16.12.2019, 22:45

Следующее du вызов должен работать над системами BSD:

du -d 1 /
7
ответ дан 16.12.2019, 22:45

Я часто должен находить, что самые большие каталоги, так получают отсортированный список, содержащий 20 крупнейших директоров, я делаю это:

du -m /some/path | sort -nr | head -n 20

В этом случае о размерах сообщат в мегабайтах.

80
ответ дан 16.12.2019, 22:45

Теги

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