Содержание статьи

Управление дисковым пространством в Linux требует точного понимания того, какие файлы и папки занимают больше всего места. На сервере с разделом в 500 ГБ быстро могут появиться каталоги, превышающие 50–100 ГБ, особенно при хранении логов, резервных копий и временных файлов.
Команда df позволяет быстро определить общий объем и доступное место на всех смонтированных файловых системах. Для детального анализа отдельных каталогов применяют du, которая показывает размер каждой папки и позволяет выявить крупные директории. Сочетание find и sort помогает отсортировать файлы по размеру и найти объекты, которые занимают непропорционально много места.
Для непрерывного контроля изменений удобно использовать watch с командой du, чтобы отслеживать рост папок в режиме реального времени. Графические утилиты вроде ncdu дают визуальное представление структуры каталога и ускоряют поиск крупных файлов, что особенно полезно при работе с дисками объемом более 1 ТБ.
Использование команды df для просмотра общего объема и свободного места

Пример: df -h покажет список разделов с указанием общего объема, занятого места и свободного пространства. Столбец Use% позволяет быстро определить, какие файловые системы приближаются к переполнению, что важно для предотвращения ошибок записи.
Для проверки конкретного раздела можно указать путь, например: df -h /var. Эта команда покажет только информацию по указанной директории, позволяя контролировать пространство, занимаемое логами, временными файлами или базами данных.
Проверка размера папок с помощью команды du

Команда du показывает размер каталогов и позволяет выявлять папки, которые занимают наибольшее место. Для удобного отображения используют ключ -h, который конвертирует значения в гигабайты, мегабайты и килобайты.
Для сортировки папок по размеру удобно использовать du -h /home | sort -hr | head -n 10, что покажет 10 крупнейших директорий. Такой подход позволяет определить, какие разделы требуют очистки или архивирования данных.
Команда du поддерживает проверку отдельных типов файлов с помощью фильтрации через —exclude или сочетания с find, что помогает отслеживать рост временных файлов, логов и резервных копий, не затрагивая системные каталоги.
Определение самых крупных файлов с помощью find и sort

Для поиска крупных файлов на диске используют комбинацию команд find и sort. Это позволяет выявлять объекты, которые занимают непропорционально много места и требуют удаления или переноса.
Пример поиска файлов размером более 500 МБ в каталоге /var:
find /var -type f -size +500M -exec ls -lh {} \; | sort -k 5 -hr
Разбор команды:
- /var – директория для поиска.
- -type f – поиск только файлов.
- -size +500M – файлы больше 500 мегабайт.
- sort -k 5 -hr – сортировка по размеру в убывающем порядке.
Для быстрого отображения топ-10 крупнейших файлов достаточно добавить | head -n 10. Такой подход позволяет оперативно выявлять объекты, которые занимают наибольшее пространство и оптимизировать дисковое использование.
Анализ использования диска по пользователям через du и awk
Комбинация команд du и awk позволяет определить, какие пользователи занимают больше всего места на диске. Такой анализ полезен на многопользовательских серверах и рабочих станциях с большим количеством домашних директорий.
Пример подсчета размера всех домашних каталогов в /home:
du -sh /home/* | awk '{print $2 ": " $1}' | sort -hr
Разбор команды:
- du -sh /home/* – суммарный размер каждой пользовательской папки в человекочитаемом формате.
- awk ‘{print $2 «: » $1}’ – переставляет столбцы, чтобы сначала отображался пользователь, затем размер.
- sort -hr – сортировка по размеру в убывающем порядке.
Результат позволяет быстро выявить пользователей с наибольшим потреблением диска и определить каталоги, где требуется очистка или перенос данных. Для автоматизации анализа можно добавить периодический запуск через cron и сохранение отчета в файл.
Графическое отображение занятых мест с помощью ncdu

Утилита ncdu предоставляет текстовый интерфейс для визуального анализа использования диска. Она показывает размер папок и файлов в интерактивной таблице, позволяя быстро находить крупные объекты.
Пример запуска для каталога /var:
ncdu /var
После запуска откроется таблица с информацией о содержимом каталога:
| Путь | Размер | Тип |
|---|---|---|
| /var/log | 12G | Каталог |
| /var/cache | 3.5G | Каталог |
| /var/tmp/file.tmp | 1.2G | Файл |
С помощью стрелок можно перемещаться между папками, а клавиша d позволяет удалить выбранный объект. ncdu особенно полезна для быстрого анализа больших файловых систем и выявления папок с наибольшим потреблением диска.
Мониторинг изменений размера каталогов с помощью watch

Команда watch позволяет автоматически повторять выполнение команд через заданный интервал времени, что удобно для отслеживания изменений размеров каталогов в реальном времени. Это помогает контролировать рост логов, временных файлов и резервных копий.
Пример мониторинга каталога /var/log каждые 5 секунд:
watch -n 5 du -sh /var/log
Разбор команды:
- watch -n 5 – запуск команды каждые 5 секунд.
Для более детального анализа можно комбинировать du с сортировкой: watch -n 10 ‘du -h /var | sort -hr | head -n 10’. Это позволяет отслеживать топ-10 папок по размеру в реальном времени, выявляя резкий рост потребления диска и принимая меры до переполнения раздела.
Вопрос-ответ:
Как быстро определить, какой раздел диска почти заполнен?
Для проверки состояния всех разделов используйте команду df -h. Она выводит общий объем, занятую и свободную память для каждой смонтированной файловой системы. Столбец Use% показывает процент использования, что позволяет сразу определить критические разделы. Для анализа конкретного раздела можно указать путь: df -h /var.
Какая команда позволяет увидеть, какие папки занимают больше всего места?
Для анализа размера каталогов применяется du. Например, du -sh /home/* покажет размер каждой пользовательской папки в /home. Чтобы увидеть топ самых крупных директорий, используют du -h /home | sort -hr | head -n 10. Это помогает определить, какие каталоги требуют очистки или архивации данных.
Как найти отдельные большие файлы на диске?
Комбинация команд find и sort позволяет выявить файлы, превышающие определенный размер. Например, find /var -type f -size +500M -exec ls -lh \; | sort -k 5 -hr | head -n 10 покажет десять крупнейших файлов размером больше 500 МБ в каталоге /var, что удобно для очистки или переноса.
Можно ли визуально оценить использование диска в терминале?
Да, утилита ncdu отображает структуру каталогов в виде интерактивной таблицы с размерами папок и файлов. После запуска ncdu /var можно перемещаться между папками стрелками, а клавиша d позволяет удалять выбранные объекты. Это упрощает поиск крупных файлов и мониторинг дискового пространства.
