Я хочу получить размер всех каталогов в определенном каталоге. Я думал что-то вроде
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 .
Что он делает, так это берет подкаталоги текущего каталога, находит его индивидуальный размер и, в конце концов, печатает общий размер.