Как проверить размер каталога из командной строки Linux
Хотя команда Linux ls
может отображать размеры файлов, она не работает должным образом с каталогами, которые всегда будут отображаться как 4096 байт. Вам нужно будет использовать команду du
, чтобы перейти в подкаталоги и распечатать итог.
Использование команды дю
Лучшей заменой ls
– использовать du
с парой флагов:
du -had 1
Флаг -h
обозначает «человекочитаемый» и форматирует размеры в КБ, МБ и ГБ вместо того, чтобы вызывать калькулятор.
Флаг -a
— это «все» и будет включать отдельные файлы, а также каталоги, что делает его полезным для имитации того, как работает ls
.
Флаг -d 1
определяет, насколько глубоко du
будет печатать результаты. По умолчанию он настроен на печать каждого отдельного подкаталога, что может быть проблемой, если у вас много вложенных файлов. Флаг -d
добавит их все и распечатает общее количество для каждого видимого каталога, из которого вы выполняете команду.
Если вы предпочитаете отображать все каталоги, вы можете запустить команду с флагом --apparent-size
, который отобразит общий размер каждого подкаталога, как если бы вы сделали правый щелчок > Свойства в ваш файловый менеджер.
Однако все это перемешано, поэтому, если вы хотите просмотреть самые большие каталоги в текущей папке, вы можете направить вывод в команду sort
. Не забудьте также использовать флаг -h
, иначе sort
будет рассматривать 128 МБ
как большее число, чем 1 ГБ
. .
du -had 1 | sort -rh
По умолчанию du
использует текущий каталог, но вы также можете настроить таргетинг на определенные каталоги. Просто передайте местоположение в качестве последнего аргумента.
du -had 1 ./world/
Поиск самых больших каталогов на вашем сервере
Распространенной задачей в Linux является отладка большого количества дискового пространства. Если вы хотите просмотреть общее использование для каждого диска, вы можете использовать df -h
или установить инструмент мониторинга, такой как glances
, который покажет его более четко:
Однако это не углубляется в каталоги и не находит источник проблемы. Для этого вы можете использовать du
, но удалите флаг -d 1
, чтобы поиск выполнялся во всех каталогах. Нацельте его на корень, отсортируйте и отфильтруйте 25 лучших каталогов, чтобы ваш экран не переполнялся.
du -ah / | sort -rh | head -n 25
Это может распечатать несколько ошибок для файлов, к которым он не может получить доступ; убедитесь, что вы запускаете его с помощью sudo
.