Как узнать размер папок и отсортировать их на сервере CentOS 6
Пользователи CentOS стремятся контроливровать загруженность жесткого диска и сервера. При этом не менее важно понимать, какой объем места занимают каталоги, а также уметь сортировать их в нужном порядке. При помощи специальных команд вы запросто найдете ответы на следующие вопросы:
- Сколько места занимает та или иная папка?
- Как проверить, сколько места на диске занимают папки?
- Как отсортировать папки по размеру?
Обратите внимание на то, что мы будем работать с командой du и дополнительными параметрами. Зачастую синтаксис du выглядит следующим образом:
du [название папки] du [параметр] [название папки] |
Сколько места занимает конкретный каталог
Если ввести в терминал команду du, вы получите название и размер каждой директории по текущему пути, в том числе и все подкаталоги.
Чтобы вывести ту же информацию о конкретной папке, нужно задать команду:
du /home |
Вместо /home впишите нужную папку. Как вы видите, информация выводится в виде цифр без указания размеров в привычных форматах (килобайты, мегабайты или гигабайты). Чтобы это исправить используйте команду du и параметр -h:
du -h |
Узнать общий размер места, занимаемого той или иной папкой, можно при помощи команды du и параметра -s:
du -s /home 28 /home |
“Совместив” параметры -h и -s, вы сможете получить ту же информацию, но в более удобном формате (килобайты, мегабайты или гигабайты):
du -hs /home 28K /home |
Сколько места на диске занимают папки
Существует команда для подсчета общей суммы размеров каталогов:
du -chs /etc /root/ |
-chs 一 параметр для подсчета всей суммы размеров папок.
/etc /root/ 一 папки, размер которых был суммирован.
В результате вы увидите размер каждой папки, а также их общий вес (total):
6.2M /etc 404K /root/ 6.5M total |
Сортировка папок
Чтобы отсортировать папки по объему, воспользуйтесь командой. Вверху окажутся самые тяжелые директории:
du -s *| sort -nr |
Так как в данном случае команда с добавлением параметра -h (du -sh *| sort -nr), отвечающего за автоматический выбор числовых значений (килобайты, мегабайты или гигабайты), не походит, используем более длинную команду:
du -s *|sort -nr|cut -f 2-|while read a;do du -hs $a;done |