← Назад к вопросам

Как посмотреть свободное место в файловой системе Linux

1.0 Junior🔥 201 комментариев
#Инструменты тестирования

Комментарии (1)

🐱
deepseek-v3.2PrepBro AI5 апр. 2026 г.(ред.)

Ответ сгенерирован нейросетью и может содержать ошибки

Получение информации о свободном месте в файловой системе Linux

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

Основные команды для анализа дискового пространства

1. df (Disk Free) — стандартная утилита

Наиболее часто используемая команда для быстрого обзора.

Базовый синтаксис:

df

Выводит информацию о всех смонтированных файловых системах в блоках (по умолчанию 1 КБ).

Полезные опции:

  • df -h (human-readable) — отображает размеры в удобочитаемом формате (ГБ, МБ, КБ)
  • df -T — показывает тип файловой системы (ext4, xfs, tmpfs и т.д.)
  • df -i — отображает информацию об инодах (i-nodes) вместо блоков
  • df /home — проверка конкретной точки монтирования

Пример вывода df -h:

Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1        50G   35G   12G  75% /
/dev/sdb1       200G   50G  140G  26% /home
tmpfs           3.9G     0  3.9G   0% /dev/shm

2. du (Disk Usage) — детальный анализ использования

Показывает использование диска конкретными файлами и директориями.

Базовые примеры:

du -sh /home/user/  # Общий размер директории в человеко-читаемом формате
du -ah /var/log/    # Рекурсивный показ всех файлов с размерами
du -sh *            # Размер всех элементов в текущей директории

Ключевые опции:

  • -s (summarize) — только итоговая сумма
  • -h (human-readable) — удобочитаемый формат
  • -a (all) — показывать все файлы, а не только директории
  • --max-depth=N — ограничить глубину рекурсии

3. lsblk — информация о блочных устройствах

Показывает древовидную структуру блочных устройств с информацией о размерах.

lsblk -f  # Показывает файловые системы и точки монтирования
lsblk -o NAME,SIZE,FSTYPE,MOUNTPOINT  # Кастомный формат вывода

Практические сценарии для QA-инженера

Мониторинг тестовых окружений:

# Проверка свободного места на критических разделах
df -h | grep -E '(/|/home|/tmp)'

# Автоматизация проверки в скриптах
THRESHOLD=90
CURRENT_USAGE=$(df / | awk 'NR==2 {print $5}' | sed 's/%//')
if [ $CURRENT_USAGE -gt $THRESHOLD ]; then
    echo "ВНИМАНИЕ: Корневая файловая система заполнена на ${CURRENT_USAGE}%"
fi

Анализ лог-файлов:

# Поиск самых больших лог-файлов
find /var/log -type f -name "*.log" -exec du -h {} + | sort -rh | head -10

# Проверка места, занимаемого Docker
docker system df  # Специализированная команда для Docker

GUI-альтернативы для визуального анализа:

  • ncdu (Ncurses Disk Usage) — интерактивная консольная утилита
  • baobab (Disk Usage Analyzer) — графический инструмент в GNOME
  • filelight — графический анализатор использования диска в KDE

Расширенные методы мониторинга

Постоянный мониторинг с watch:

watch -n 10 'df -h'  # Обновлять информацию каждые 10 секунд

Анализ с фильтрацией:

# Только локальные файловые системы (исключая сетевые и специальные)
df -h -l -x tmpfs -x devtmpfs

# Проверка места в процентах с сортировкой
df -h --output=source,size,pcent,target | sort -k3 -hr

Проблемы и решения для QA-тестирования

  1. Внезапное заполнение диска — использование lsof | grep deleted для поиска удаленных, но все еще открытых файлов
  2. Аномальный рост логов — настройка logrotate и мониторинг с помощью du -sh /var/log/
  3. Дисковые квоты — проверка с помощью quota -u username (если настроены)

Интеграция в процессы CI/CD

Для автоматизации проверок в пайплайнах:

# Пример скрипта для Jenkins/GitLab CI
#!/bin/bash
MIN_FREE_GB=10
AVAILABLE=$(df -BG / | awk 'NR==2 {print $4}' | sed 's/G//')

if (( $(echo "$AVAILABLE < $MIN_FREE_GB" | bc -l) )); then
    echo "FAIL: Менее ${MIN_FREE_GB}ГБ свободного места"
    exit 1
else
    echo "PASS: Достаточно свободного места (${AVAILABLE}ГБ)"
    exit 0
fi

Рекомендация для QA-инженеров: Включайте проверку дискового пространства в предтестовые процедуры, особенно при работе с автотестами, генерирующими много временных данных или скриншотов. Регулярный мониторинг предотвращает сбои тестов из-за банальной нехватки места на диске.

Как посмотреть свободное место в файловой системе Linux | PrepBro