Назад | Перейти на главную страницу

Получить размер всех папок в каталоге

Я хочу получить размер всех каталогов в определенном каталоге. Я думал что-то вроде

find . -type d -exec du -sh {} \;

Но это рекурсивно возвращает все каталоги. Как я могу ограничить глубину?

Добавить -maxdepth 1 на ваш find параметры.

Зачем вообще использовать find, а не просто glob для каталогов?

du -shc */

Это должно работать эффективно:

du -hc --max-depth=1

Одна большая разница, о которой я думаю, заключается в том, что при обнаружении файлов с жесткой связью они будут учитываться только один раз. В цикле поиска они будут подсчитаны один раз для каждого базового каталога. [Это правильный английский?]

Вы можете использовать параметр -maxdepth.

Я использую этот,

ls | xargs du -sh 

в принципе есть много способов снять шкуру с кота :)

Вы также можете сделать это:

du -ah .

Что он делает, так это берет подкаталоги текущего каталога, находит его индивидуальный размер и, в конце концов, печатает общий размер.