Если вам нужно быстро узнать, какие файлы и папки занимают больше всего места на диске в Linux вы можете использовать различные инструменты. В этой статье покажу способы, которые я используют чаще всего чтобы понять, чем занято свободное место на диске в Linux.
Наиболее популярная утилита для получения размера файлов и папок в Linux – это ncdu. По умолчанию она не установлена, но присутствует во всех стандартных репозиториях популярных дистрибутивов Linux.
Для установки ncdu в Ubuntu или Debian, выполните команду:
$ sudo apt install ncdu
В Orace/Rocky Linux/CentOS/RHEL:
# yum install ncdu.
Чтобы получить размер всех файлов и элементов в указанном каталоге, выполните команду:
$ sudo ncdu /var
Перед вами появится список файлов, каталогов и их размер. Утилита ncdu позволяет перемешаться по списку объектов (стрелки вверх и вниз
). Чтобы открыть определенный каталог, нажмите Enter
. Для удаления файла/директории, нажмите d
.
Если на вашем хосте установлен файловый менеджер MC (Midnight Commander), вы можете показать размер каталога, нажав клавишу Ctrl + Пробел
.
Если на сервере отсутствуют другие утилиты, вы можете использовать встроенную команду du для получения размер файлов на диске.
Например, следующая команда выведет список из 10 самых больших файлов и директорий в текущей папке:
$ sudo du -ahx . | sort -rh | head -10
В первом столбце указан размер объекта файловой системы, во втором имя.
Используемые опции:
.
– выполнить расчет в текущем каталогеa
– учитывать размер файлов и директорийh
– преобразовать размер в удобный форматx
– пропускать каталоги в разных файловых системахsort -rh
– выполнить сортировку рузультатовhead -10
– вывести только первые 10 строк
Чтобы получить размер объектов в указанной директории:
$ du -ahx /var | sort -rh | head -10
Если нужно просканировать только объекты с уровнем вложенности не более 1, выполните:
$ du /var/* --max-depth=1 -ahx |sort -hr