Где хранится информация о свободном месте на диске?

Я использую индикатор multi-load и хотел бы, чтобы он отображал свободное дисковое пространство в моих разделах.

Итак, я просмотрел код и обнаружил, что автор анализирует содержимое /sys/block/(device)/stat для получения скорости чтения и записи. (где «устройство» может быть sda и т. д.).

Я огляделся sys/block и не смог найти ничего полезного, что могло бы дать мне информацию о свободном месте на диске. Хотя /sys/block/sda/size дает общее доступное пространство, я не смог найти запись для свободного места.

Я хочу знать, есть ли в системе linux файл, который явно хранит информацию о свободном пространстве.

Если нет, можете ли вы предложить способ получения индикатора со статистикой на свободном дисковом пространстве.

2
задан 18 June 2012 в 09:37

2 ответа

Свободное пространство не является свойством блочного устройства - это - свойство файловой системы на устройстве. Следовательно, не будет ничего полезного под /sys/block. К счастью, существуют другие способы запросить эту информацию.

От оболочки один из самых легких способов получить текущее свободное пространство при помощи df:

[jk@pecola sda2]$ df -h /dev/sda[123]
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1        64M  117K   64M   1% /boot/efi
/dev/sda2        20G  9.7G  9.4G  51% /
/dev/sda3        92G   65G   23G  75% /home

Это использует statfs системный вызов для определения доступного свободного пространства; если бы Вы - написание кода для запросов свободного пространства, я предложил бы читать statfs страницу справочника:

man statfs

Надеюсь, это поможет!

3
ответ дан 18 June 2012 в 09:37

Вы можете найти эту информацию, используя команду df на терминале (df -H для более удобного чтения).

0
ответ дан 18 June 2012 в 09:37

Другие вопросы по тегам:

Похожие вопросы: