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

Как посмотреть количество места в разделе Linux

1.0 Junior🔥 242 комментариев
#Linux и администрирование

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

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

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

Проверка дискового пространства в Linux

Для анализа использования дискового пространства в Linux существует набор стандартных и мощных утилит. Выбор конкретной команды зависит от того, какую информацию вам нужно получить: общий объем, занятое пространство, использование индексных дескрипторов (inodes) или визуализацию структуры каталогов.

Основные команды: df и du

1. Команда df (Disk Filesystem)

Эта команда показывает общее, использованное и доступное пространство для всех смонтированных файловых систем.

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

  • Человеко-читаемый формат (-h):
    Самый частый и удобный вариант. Размеры отображаются в гигабайтах (G), мегабайтах (M) и т.д.
```bash
df -h
```
    Пример вывода:
```
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1        20G   11G  7.8G  59% /
/dev/sdb1       100G   45G   55G  45% /data
tmpfs           3.9G     0  3.9G   0% /dev/shm
```
  • Показать использование индексных дескрипторов (-i):
    Критически важный параметр для диагностики. Файловая система может быть заполнена не данными, а исчерпанием лимита на количество файлов (inodes).
```bash
df -i
df -ih  # в человеко-читаемом формате
```
  • Показать тип файловой системы (-T):

    df -Th
    
  • Исключить временные файловые системы (-x):

    Полезно, чтобы убрать из вывода `tmpfs`, `devtmpfs`.
```bash
df -h -x tmpfs -x devtmpfs
```

2. Команда du (Disk Usage)

Эта команда оценивает использование пространства файлами и каталогами, начиная с текущей директории.

  • Итог по текущему каталогу (-s):
    du -sh /home/user/
    
    *   `-s` (summarize) — показать только итог для указанного пути.
    *   `-h` (human-readable) — вывести размер в удобном формате.

  • Рекурсивный обход с сортировкой:
    Частая задача — найти самые «тяжелые» подкаталоги.
```bash
du -h /var/log | sort -hr | head -20
```
    Или с помощью `ncdu` (более интерактивно) или:
```bash
du -ah /path/to/dir | sort -rh | head -20
```
    *   `-a` — показывать и файлы, а не только каталоги.

Дополнительные и продвинутые инструменты

  • Интерактивная утилита ncdu (Ncurses Disk Usage):
    Это must-have инструмент для любого администратора. Он предоставляет быстрый интерактивный анализ.
```bash
# Установка (например, для Ubuntu/Debian)
sudo apt install ncdu

# Запуск для сканирования каталога
ncdu /var
```
    Позволяет навигацию по клавишам, удаление файлов прямо в интерфейсе.

  • Мониторинг в реальном времени:
    Для наблюдения за изменением размера каталога можно использовать `watch` в связке с `df` или `du`.
```bash
watch -n 5 'df -h /data'
```
    Эта команда будет обновлять информацию о разделе `/data` каждые 5 секунд.

  • Анализ через lsblk и fdisk:
    Эти команды показывают информацию о **блочных устройствах** и разделах на более низком уровне, до монтирования.
```bash
lsblk -f  # Показать дерево устройств с файловыми системами и точками монтирования
sudo fdisk -l  # Подробная информация о разделах всех дисков
```

Практический рабочий процесс при проблемах с местом

  1. Быстрая оценка (df -h): Определите, какие файловые системы переполнены.
  2. Проверка inodes (df -ih): Убедитесь, что проблема именно в данных, а не в количестве файлов.
  3. Поиск "виновника":
    *   Перейдите в точку монтирования переполненного раздела.
    *   Используйте `ncdu` или `du -h | sort -hr | head -20` для поиска самых больших каталогов.
  1. Анализ и очистка: Изучите найденные большие файлы (логи, кэш, временные файлы) и примите решение об их архивации или удалении.

Важные нюансы для DevOps-инженера

  • LVM (Logical Volume Manager): Если система использует LVM, помимо df, для управления пространством потребуются команды lvs, vgs, pvdisplay и lvresize.
  • Docker/контейнеры: Контейнеры могут создавать множество слоев и томов. Используйте docker system df для анализа дискового пространства Docker, а также очищайте неиспользуемые ресурсы: docker system prune -a.
  • Автоматизация мониторинга: В production-среде информация о свободном месте должна собираться системами мониторинга (Prometheus с node_exporter, Zabbix и т.д.) для создания алертов при достижении критических порогов (например, 85% использования).
  • Точность du vs df: Значения du (сумма размеров файлов) и df (информация от файловой системы) могут незначительно расходиться из-за удаленных, но еще не закрытых файлов, журналирования (journal) или зарезервированного пространства (например, 5% в ext4 для root).

Таким образом, эффективное управление дисковым пространством в Linux — это комбинация знания базовых команд (df, du), использования продвинутых инструментов (ncdu) и интеграции проверок в процессы мониторинга и оркестрации инфраструктуры.