Как узнать что занимает место на диске в Linux

Linux как узнать что занимает место на диске

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

Linux как узнать что занимает место на диске

Управление дисковым пространством в Linux требует точного понимания того, какие файлы и папки занимают больше всего места. На сервере с разделом в 500 ГБ быстро могут появиться каталоги, превышающие 50–100 ГБ, особенно при хранении логов, резервных копий и временных файлов.

Команда df позволяет быстро определить общий объем и доступное место на всех смонтированных файловых системах. Для детального анализа отдельных каталогов применяют du, которая показывает размер каждой папки и позволяет выявить крупные директории. Сочетание find и sort помогает отсортировать файлы по размеру и найти объекты, которые занимают непропорционально много места.

Для непрерывного контроля изменений удобно использовать watch с командой du, чтобы отслеживать рост папок в режиме реального времени. Графические утилиты вроде ncdu дают визуальное представление структуры каталога и ускоряют поиск крупных файлов, что особенно полезно при работе с дисками объемом более 1 ТБ.

Использование команды df для просмотра общего объема и свободного места

Использование команды df для просмотра общего объема и свободного места

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

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

Проверка размера папок с помощью команды du

Проверка размера папок с помощью команды du

Команда du показывает размер каталогов и позволяет выявлять папки, которые занимают наибольшее место. Для удобного отображения используют ключ -h, который конвертирует значения в гигабайты, мегабайты и килобайты.

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

Команда du поддерживает проверку отдельных типов файлов с помощью фильтрации через —exclude или сочетания с find, что помогает отслеживать рост временных файлов, логов и резервных копий, не затрагивая системные каталоги.

Определение самых крупных файлов с помощью find и sort

Определение самых крупных файлов с помощью 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

Утилита ncdu предоставляет текстовый интерфейс для визуального анализа использования диска. Она показывает размер папок и файлов в интерактивной таблице, позволяя быстро находить крупные объекты.

Пример запуска для каталога /var:

ncdu /var

После запуска откроется таблица с информацией о содержимом каталога:

Путь Размер Тип
/var/log 12G Каталог
/var/cache 3.5G Каталог
/var/tmp/file.tmp 1.2G Файл

С помощью стрелок можно перемещаться между папками, а клавиша d позволяет удалить выбранный объект. ncdu особенно полезна для быстрого анализа больших файловых систем и выявления папок с наибольшим потреблением диска.

Мониторинг изменений размера каталогов с помощью watch

Мониторинг изменений размера каталогов с помощью 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 позволяет удалять выбранные объекты. Это упрощает поиск крупных файлов и мониторинг дискового пространства.

Ссылка на основную публикацию